@azure-rest/ai-translation-document 1.0.0-beta.2 → 1.0.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 CHANGED
@@ -1,4 +1,10 @@
1
1
  # Release History
2
+
3
+ ## 1.0.0 (2024-11-15)
4
+
5
+ ### Other Changes
6
+ - Renamed SingleDocumentTranslationClient's API from `document_translate` to `translate`
7
+
2
8
  ## 1.0.0-beta.2 (2024-07-01)
3
9
 
4
10
  ### Other Changes
package/README.md CHANGED
@@ -53,6 +53,11 @@ npm install @azure-rest/ai-translation-document
53
53
 
54
54
  You can create Translator resource following [Create a Translator resource][translator_resource_create].
55
55
 
56
+ #### Setup Azure Blob Storage Account
57
+ For more information about creating an Azure Blob Storage account see [here][azure_blob_storage_account]. For creating containers for your source and target files see [here][container]. Make sure to authorize your Translation resource storage access, more info [here][storage_container_authorization].
58
+
59
+ When "Allow Storage Account Key Access" is disabled on the storage account , Managed Identity is enabled on the Translator resource and it is assigned the role "Storage Blob Data Contributor" on the storage account, then you can use the container URLs directly and no SAS URIs will be need to be generated.
60
+
56
61
  ### Create a `DocumentTranslationClient` using an endpoint URL and API key `KeyCredential`
57
62
 
58
63
  Once you have the value for API key, create a credential
@@ -344,3 +349,6 @@ Please refer to the service documentation for a conceptual discussion of [langua
344
349
  [translator_resource_create]: https://learn.microsoft.com/azure/cognitive-services/Translator/create-translator-resource
345
350
  [documentTranslationClient_class]: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/translation/ai-translation-document-rest/src/documentTranslationClient.ts
346
351
  [pre_requisities]: https://learn.microsoft.com/azure/ai-services/translator/document-translation/how-to-guides/use-rest-api-programmatically?tabs=csharp#prerequisites
352
+ [azure_blob_storage_account]: https://ms.portal.azure.com/#create/Microsoft.StorageAccount
353
+ [container]: https://learn.microsoft.com/azure/storage/blobs/storage-quickstart-blobs-portal#create-a-container
354
+ [storage_container_authorization]: https://learn.microsoft.com/azure/ai-services/translator/document-translation/quickstarts/client-library-sdks?tabs=dotnet&pivots=programming-language-csharp#storage-container-authorization
package/dist/index.js CHANGED
@@ -2,29 +2,31 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var tslib = require('tslib');
5
6
  var coreClient = require('@azure-rest/core-client');
6
7
  var logger$1 = require('@azure/logger');
7
8
  var corePaging = require('@azure/core-paging');
8
9
  var coreLro = require('@azure/core-lro');
9
- var coreRestPipeline = require('@azure/core-rest-pipeline');
10
10
 
11
+ // Copyright (c) Microsoft Corporation.
12
+ // Licensed under the MIT License.
11
13
  // Copyright (c) Microsoft Corporation.
12
14
  // Licensed under the MIT license.
13
15
  const logger = logger$1.createClientLogger("ai-translation-document");
14
16
 
15
17
  // Copyright (c) Microsoft Corporation.
16
- // Licensed under the MIT license.
18
+ // Licensed under the MIT License.
17
19
  /**
18
20
  * Initialize a new instance of `DocumentTranslationClient`
19
21
  * @param endpointParam - Supported document Translation endpoint, protocol and hostname, for example: https://{TranslatorResourceName}.cognitiveservices.azure.com/translator.
20
22
  * @param credentials - uniquely identify client credential
21
23
  * @param options - the parameter for all optional parameters
22
24
  */
23
- function createClient(endpointParam, credentials, options = {}) {
24
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
25
- const endpointUrl = (_b = (_a = options.endpoint) !== null && _a !== void 0 ? _a : options.baseUrl) !== null && _b !== void 0 ? _b : `${endpointParam}/translator`;
26
- options.apiVersion = (_c = options.apiVersion) !== null && _c !== void 0 ? _c : "2024-05-01";
27
- const userAgentInfo = `azsdk-js-ai-translation-document-rest/1.0.0-beta.2`;
25
+ function createClient(endpointParam, credentials, _a = {}) {
26
+ var _b, _c, _d, _e, _f, _g, _h, _j;
27
+ var { apiVersion = "2024-05-01" } = _a, options = tslib.__rest(_a, ["apiVersion"]);
28
+ const endpointUrl = (_c = (_b = options.endpoint) !== null && _b !== void 0 ? _b : options.baseUrl) !== null && _c !== void 0 ? _c : `${endpointParam}/translator`;
29
+ const userAgentInfo = `azsdk-js-ai-translation-document-rest/1.0.0-beta.1`;
28
30
  const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix
29
31
  ? `${options.userAgentOptions.userAgentPrefix} ${userAgentInfo}`
30
32
  : `${userAgentInfo}`;
@@ -37,11 +39,24 @@ function createClient(endpointParam, credentials, options = {}) {
37
39
  apiKeyHeaderName: (_j = (_h = options.credentials) === null || _h === void 0 ? void 0 : _h.apiKeyHeaderName) !== null && _j !== void 0 ? _j : "Ocp-Apim-Subscription-Key",
38
40
  } });
39
41
  const client = coreClient.getClient(endpointUrl, credentials, options);
42
+ client.pipeline.removePolicy({ name: "ApiVersionPolicy" });
43
+ client.pipeline.addPolicy({
44
+ name: "ClientApiVersionPolicy",
45
+ sendRequest: (req, next) => {
46
+ // Use the apiVersion defined in request url directly
47
+ // Append one if there is no apiVersion and we have one at client options
48
+ const url = new URL(req.url);
49
+ if (!url.searchParams.get("api-version") && apiVersion) {
50
+ req.url = `${req.url}${Array.from(url.searchParams.keys()).length > 0 ? "&" : "?"}api-version=${apiVersion}`;
51
+ }
52
+ return next(req);
53
+ },
54
+ });
40
55
  return client;
41
56
  }
42
57
 
43
58
  // Copyright (c) Microsoft Corporation.
44
- // Licensed under the MIT license.
59
+ // Licensed under the MIT License.
45
60
  const responseMap = {
46
61
  "POST /document:translate": ["200"],
47
62
  "GET /document/batches": ["200"],
@@ -118,7 +133,7 @@ function getPathFromMapKey(mapKey) {
118
133
  }
119
134
 
120
135
  // Copyright (c) Microsoft Corporation.
121
- // Licensed under the MIT license.
136
+ // Licensed under the MIT License.
122
137
  /**
123
138
  * Helper to paginate results from an initial response that follows the specification of Autorest `x-ms-pageable` extension
124
139
  * @param client - Client to use for sending the next page requests
@@ -186,7 +201,7 @@ function checkPagingRequest(response) {
186
201
  }
187
202
 
188
203
  // Copyright (c) Microsoft Corporation.
189
- // Licensed under the MIT license.
204
+ // Licensed under the MIT License.
190
205
  async function getLongRunningPoller(client, initialResponse, options = {}) {
191
206
  var _a;
192
207
  const abortController = new AbortController();
@@ -197,7 +212,7 @@ async function getLongRunningPoller(client, initialResponse, options = {}) {
197
212
  // response we were provided.
198
213
  return getLroResponse(initialResponse);
199
214
  },
200
- sendPollRequest: async (path, sendPollRequestOptions) => {
215
+ sendPollRequest: async (path, pollOptions) => {
201
216
  // This is the callback that is going to be called to poll the service
202
217
  // to get the latest status. We use the client provided and the polling path
203
218
  // which is an opaque URL provided by caller, the service sends this in one of the following headers: operation-location, azure-asyncoperation or location
@@ -205,7 +220,7 @@ async function getLongRunningPoller(client, initialResponse, options = {}) {
205
220
  function abortListener() {
206
221
  abortController.abort();
207
222
  }
208
- const inputAbortSignal = sendPollRequestOptions === null || sendPollRequestOptions === void 0 ? void 0 : sendPollRequestOptions.abortSignal;
223
+ const inputAbortSignal = pollOptions === null || pollOptions === void 0 ? void 0 : pollOptions.abortSignal;
209
224
  const abortSignal = abortController.signal;
210
225
  if (inputAbortSignal === null || inputAbortSignal === void 0 ? void 0 : inputAbortSignal.aborted) {
211
226
  abortController.abort();
@@ -236,7 +251,7 @@ async function getLongRunningPoller(client, initialResponse, options = {}) {
236
251
  return httpPoller.isDone;
237
252
  },
238
253
  isStopped() {
239
- return httpPoller.isStopped;
254
+ return abortController.signal.aborted;
240
255
  },
241
256
  getOperationState() {
242
257
  if (!httpPoller.operationState) {
@@ -281,17 +296,11 @@ function getLroResponse(response) {
281
296
  };
282
297
  }
283
298
 
299
+ // Copyright (c) Microsoft Corporation.
300
+ // Licensed under the MIT License.
284
301
  // Copyright (c) Microsoft Corporation.
285
302
  // Licensed under the MIT license.
286
303
 
287
- Object.defineProperty(exports, "createFile", {
288
- enumerable: true,
289
- get: function () { return coreRestPipeline.createFile; }
290
- });
291
- Object.defineProperty(exports, "createFileFromStream", {
292
- enumerable: true,
293
- get: function () { return coreRestPipeline.createFileFromStream; }
294
- });
295
304
  exports.default = createClient;
296
305
  exports.getLongRunningPoller = getLongRunningPoller;
297
306
  exports.isUnexpected = isUnexpected;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/logger.ts","../src/documentTranslationClient.ts","../src/isUnexpected.ts","../src/paginateHelper.ts","../src/pollingHelper.ts","../src/index.ts"],"sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { createClientLogger } from \"@azure/logger\";\nexport const logger = createClientLogger(\"ai-translation-document\");\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { getClient, ClientOptions } from \"@azure-rest/core-client\";\nimport { logger } from \"./logger\";\nimport { TokenCredential, KeyCredential } from \"@azure/core-auth\";\nimport { DocumentTranslationClient } from \"./clientDefinitions\";\n\n/**\n * Initialize a new instance of `DocumentTranslationClient`\n * @param endpointParam - Supported document Translation endpoint, protocol and hostname, for example: https://{TranslatorResourceName}.cognitiveservices.azure.com/translator.\n * @param credentials - uniquely identify client credential\n * @param options - the parameter for all optional parameters\n */\nexport default function createClient(\n endpointParam: string,\n credentials: TokenCredential | KeyCredential,\n options: ClientOptions = {},\n): DocumentTranslationClient {\n const endpointUrl = options.endpoint ?? options.baseUrl ?? `${endpointParam}/translator`;\n options.apiVersion = options.apiVersion ?? \"2024-05-01\";\n const userAgentInfo = `azsdk-js-ai-translation-document-rest/1.0.0-beta.2`;\n const userAgentPrefix =\n options.userAgentOptions && options.userAgentOptions.userAgentPrefix\n ? `${options.userAgentOptions.userAgentPrefix} ${userAgentInfo}`\n : `${userAgentInfo}`;\n options = {\n ...options,\n userAgentOptions: {\n userAgentPrefix,\n },\n loggingOptions: {\n logger: options.loggingOptions?.logger ?? logger.info,\n },\n credentials: {\n scopes: options.credentials?.scopes ?? [\"https://cognitiveservices.azure.com/.default\"],\n apiKeyHeaderName: options.credentials?.apiKeyHeaderName ?? \"Ocp-Apim-Subscription-Key\",\n },\n };\n\n const client = getClient(endpointUrl, credentials, options) as DocumentTranslationClient;\n\n return client;\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport {\n DocumentTranslate200Response,\n DocumentTranslateDefaultResponse,\n StartTranslation202Response,\n StartTranslationLogicalResponse,\n StartTranslationDefaultResponse,\n GetTranslationsStatus200Response,\n GetTranslationsStatusDefaultResponse,\n GetDocumentStatus200Response,\n GetDocumentStatusDefaultResponse,\n GetTranslationStatus200Response,\n GetTranslationStatusDefaultResponse,\n CancelTranslation200Response,\n CancelTranslationDefaultResponse,\n GetDocumentsStatus200Response,\n GetDocumentsStatusDefaultResponse,\n GetSupportedFormats200Response,\n GetSupportedFormatsDefaultResponse,\n} from \"./responses.js\";\n\nconst responseMap: Record<string, string[]> = {\n \"POST /document:translate\": [\"200\"],\n \"GET /document/batches\": [\"200\"],\n \"POST /document/batches\": [\"202\"],\n \"GET /document/batches/{id}/documents/{documentId}\": [\"200\"],\n \"GET /document/batches/{id}\": [\"200\"],\n \"DELETE /document/batches/{id}\": [\"200\"],\n \"GET /document/batches/{id}/documents\": [\"200\"],\n \"GET /document/formats\": [\"200\"],\n};\n\nexport function isUnexpected(\n response: DocumentTranslate200Response | DocumentTranslateDefaultResponse,\n): response is DocumentTranslateDefaultResponse;\nexport function isUnexpected(\n response:\n | StartTranslation202Response\n | StartTranslationLogicalResponse\n | StartTranslationDefaultResponse,\n): response is StartTranslationDefaultResponse;\nexport function isUnexpected(\n response: GetTranslationsStatus200Response | GetTranslationsStatusDefaultResponse,\n): response is GetTranslationsStatusDefaultResponse;\nexport function isUnexpected(\n response: GetDocumentStatus200Response | GetDocumentStatusDefaultResponse,\n): response is GetDocumentStatusDefaultResponse;\nexport function isUnexpected(\n response: GetTranslationStatus200Response | GetTranslationStatusDefaultResponse,\n): response is GetTranslationStatusDefaultResponse;\nexport function isUnexpected(\n response: CancelTranslation200Response | CancelTranslationDefaultResponse,\n): response is CancelTranslationDefaultResponse;\nexport function isUnexpected(\n response: GetDocumentsStatus200Response | GetDocumentsStatusDefaultResponse,\n): response is GetDocumentsStatusDefaultResponse;\nexport function isUnexpected(\n response: GetSupportedFormats200Response | GetSupportedFormatsDefaultResponse,\n): response is GetSupportedFormatsDefaultResponse;\nexport function isUnexpected(\n response:\n | DocumentTranslate200Response\n | DocumentTranslateDefaultResponse\n | StartTranslation202Response\n | StartTranslationLogicalResponse\n | StartTranslationDefaultResponse\n | GetTranslationsStatus200Response\n | GetTranslationsStatusDefaultResponse\n | GetDocumentStatus200Response\n | GetDocumentStatusDefaultResponse\n | GetTranslationStatus200Response\n | GetTranslationStatusDefaultResponse\n | CancelTranslation200Response\n | CancelTranslationDefaultResponse\n | GetDocumentsStatus200Response\n | GetDocumentsStatusDefaultResponse\n | GetSupportedFormats200Response\n | GetSupportedFormatsDefaultResponse,\n): response is\n | DocumentTranslateDefaultResponse\n | StartTranslationDefaultResponse\n | GetTranslationsStatusDefaultResponse\n | GetDocumentStatusDefaultResponse\n | GetTranslationStatusDefaultResponse\n | CancelTranslationDefaultResponse\n | GetDocumentsStatusDefaultResponse\n | GetSupportedFormatsDefaultResponse {\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","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { getPagedAsyncIterator, PagedAsyncIterableIterator, PagedResult } from \"@azure/core-paging\";\nimport { Client, createRestError, PathUncheckedResponse } from \"@azure-rest/core-client\";\n\n/**\n * Helper type to extract the type of an array\n */\nexport type GetArrayType<T> = T extends Array<infer TData> ? TData : never;\n\n/**\n * The type of a custom function that defines how to get a page and a link to the next one if any.\n */\nexport type GetPage<TPage> = (\n pageLink: string,\n maxPageSize?: number,\n) => Promise<{\n page: TPage;\n nextPageLink?: string;\n}>;\n\n/**\n * Options for the paging helper\n */\nexport interface PagingOptions<TResponse> {\n /**\n * Custom function to extract pagination details for crating the PagedAsyncIterableIterator\n */\n customGetPage?: GetPage<PaginateReturn<TResponse>[]>;\n}\n\n/**\n * Helper type to infer the Type of the paged elements from the response type\n * This type is generated based on the swagger information for x-ms-pageable\n * specifically on the itemName property which indicates the property of the response\n * where the page items are found. The default value is `value`.\n * This type will allow us to provide strongly typed Iterator based on the response we get as second parameter\n */\nexport type PaginateReturn<TResult> = TResult extends {\n body: { value?: infer TPage };\n}\n ? GetArrayType<TPage>\n : Array<unknown>;\n\n/**\n * Helper to paginate results from an initial response that follows the specification of Autorest `x-ms-pageable` extension\n * @param client - Client to use for sending the next page requests\n * @param initialResponse - Initial response containing the nextLink and current page of elements\n * @param customGetPage - Optional - Function to define how to extract the page and next link to be used to paginate the results\n * @returns - PagedAsyncIterableIterator to iterate the elements\n */\nexport function paginate<TResponse extends PathUncheckedResponse>(\n client: Client,\n initialResponse: TResponse,\n options: PagingOptions<TResponse> = {},\n): PagedAsyncIterableIterator<PaginateReturn<TResponse>> {\n // Extract element type from initial response\n type TElement = PaginateReturn<TResponse>;\n let firstRun = true;\n const itemName = \"value\";\n const nextLinkName = \"nextLink\";\n const { customGetPage } = options;\n const pagedResult: PagedResult<TElement[]> = {\n firstPageLink: \"\",\n getPage:\n typeof customGetPage === \"function\"\n ? customGetPage\n : async (pageLink: string) => {\n const result = firstRun ? initialResponse : await client.pathUnchecked(pageLink).get();\n firstRun = false;\n checkPagingRequest(result);\n const nextLink = getNextLink(result.body, nextLinkName);\n const values = getElements<TElement>(result.body, itemName);\n return {\n page: values,\n nextPageLink: nextLink,\n };\n },\n };\n\n return getPagedAsyncIterator(pagedResult);\n}\n\n/**\n * Gets for the value of nextLink in the body\n */\nfunction getNextLink(body: unknown, nextLinkName?: string): string | undefined {\n if (!nextLinkName) {\n return undefined;\n }\n\n const nextLink = (body as Record<string, unknown>)[nextLinkName];\n\n if (typeof nextLink !== \"string\" && typeof nextLink !== \"undefined\") {\n throw new Error(`Body Property ${nextLinkName} should be a string or undefined`);\n }\n\n return nextLink;\n}\n\n/**\n * Gets the elements of the current request in the body.\n */\nfunction getElements<T = unknown>(body: unknown, itemName: string): T[] {\n const value = (body as Record<string, unknown>)[itemName] as T[];\n\n // value has to be an array according to the x-ms-pageable extension.\n // The fact that this must be an array is used above to calculate the\n // type of elements in the page in PaginateReturn\n if (!Array.isArray(value)) {\n throw new Error(\n `Couldn't paginate response\\n Body doesn't contain an array property with name: ${itemName}`,\n );\n }\n\n return value ?? [];\n}\n\n/**\n * Checks if a request failed\n */\nfunction checkPagingRequest(response: PathUncheckedResponse): void {\n const Http2xxStatusCodes = [\"200\", \"201\", \"202\", \"203\", \"204\", \"205\", \"206\", \"207\", \"208\", \"226\"];\n if (!Http2xxStatusCodes.includes(response.status)) {\n throw createRestError(\n `Pagination failed with unexpected statusCode ${response.status}`,\n response,\n );\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { Client, HttpResponse } from \"@azure-rest/core-client\";\nimport { AbortSignalLike } from \"@azure/abort-controller\";\nimport {\n CancelOnProgress,\n CreateHttpPollerOptions,\n LongRunningOperation,\n OperationResponse,\n OperationState,\n createHttpPoller,\n} from \"@azure/core-lro\";\nimport {\n StartTranslation202Response,\n StartTranslationDefaultResponse,\n StartTranslationLogicalResponse,\n} from \"./responses.js\";\n\n/**\n * A simple poller that can be used to poll a long running operation.\n */\nexport interface SimplePollerLike<TState extends OperationState<TResult>, TResult> {\n /**\n * Returns true if the poller has finished polling.\n */\n isDone(): boolean;\n /**\n * Returns true if the poller is stopped.\n */\n isStopped(): boolean;\n /**\n * Returns the state of the operation.\n */\n getOperationState(): TState;\n /**\n * Returns the result value of the operation,\n * regardless of the state of the poller.\n * It can return undefined or an incomplete form of the final TResult value\n * depending on the implementation.\n */\n getResult(): TResult | undefined;\n /**\n * Returns a promise that will resolve once a single polling request finishes.\n * It does this by calling the update method of the Poller's operation.\n */\n poll(options?: { abortSignal?: AbortSignalLike }): Promise<TState>;\n /**\n * Returns a promise that will resolve once the underlying operation is completed.\n */\n pollUntilDone(pollOptions?: { abortSignal?: AbortSignalLike }): Promise<TResult>;\n /**\n * Invokes the provided callback after each polling is completed,\n * sending the current state of the poller's operation.\n *\n * It returns a method that can be used to stop receiving updates on the given callback function.\n */\n onProgress(callback: (state: TState) => void): CancelOnProgress;\n\n /**\n * Returns a promise that could be used for serialized version of the poller's operation\n * by invoking the operation's serialize method.\n */\n serialize(): Promise<string>;\n\n /**\n * Wait the poller to be submitted.\n */\n submitted(): Promise<void>;\n\n /**\n * Returns a string representation of the poller's operation. Similar to serialize but returns a string.\n * @deprecated Use serialize() instead.\n */\n toString(): string;\n\n /**\n * Stops the poller from continuing to poll. Please note this will only stop the client-side polling\n * @deprecated Use abortSignal to stop polling instead.\n */\n stopPolling(): void;\n}\n\n/**\n * Helper function that builds a Poller object to help polling a long running operation.\n * @param client - Client to use for sending the request to get additional pages.\n * @param initialResponse - The initial response.\n * @param options - Options to set a resume state or custom polling interval.\n * @returns - A poller object to poll for operation state updates and eventually get the final response.\n */\nexport async function getLongRunningPoller<\n TResult extends StartTranslationLogicalResponse | StartTranslationDefaultResponse,\n>(\n client: Client,\n initialResponse: StartTranslation202Response | StartTranslationDefaultResponse,\n options?: CreateHttpPollerOptions<TResult, OperationState<TResult>>,\n): Promise<SimplePollerLike<OperationState<TResult>, TResult>>;\nexport async function getLongRunningPoller<TResult extends HttpResponse>(\n client: Client,\n initialResponse: TResult,\n options: CreateHttpPollerOptions<TResult, OperationState<TResult>> = {},\n): Promise<SimplePollerLike<OperationState<TResult>, TResult>> {\n const abortController = new AbortController();\n const poller: LongRunningOperation<TResult> = {\n sendInitialRequest: async () => {\n // In the case of Rest Clients we are building the LRO poller object from a response that's the reason\n // we are not triggering the initial request here, just extracting the information from the\n // response we were provided.\n return getLroResponse(initialResponse);\n },\n sendPollRequest: async (path, sendPollRequestOptions?: { abortSignal?: AbortSignalLike }) => {\n // This is the callback that is going to be called to poll the service\n // to get the latest status. We use the client provided and the polling path\n // which is an opaque URL provided by caller, the service sends this in one of the following headers: operation-location, azure-asyncoperation or location\n // depending on the lro pattern that the service implements. If non is provided we default to the initial path.\n function abortListener(): void {\n abortController.abort();\n }\n const inputAbortSignal = sendPollRequestOptions?.abortSignal;\n const abortSignal = abortController.signal;\n if (inputAbortSignal?.aborted) {\n abortController.abort();\n } else if (!abortSignal.aborted) {\n inputAbortSignal?.addEventListener(\"abort\", abortListener, {\n once: true,\n });\n }\n let response;\n try {\n response = await client\n .pathUnchecked(path ?? initialResponse.request.url)\n .get({ abortSignal });\n } finally {\n inputAbortSignal?.removeEventListener(\"abort\", abortListener);\n }\n const lroResponse = getLroResponse(response as TResult);\n lroResponse.rawResponse.headers[\"x-ms-original-url\"] = initialResponse.request.url;\n return lroResponse;\n },\n };\n\n options.resolveOnUnsuccessful = options.resolveOnUnsuccessful ?? true;\n const httpPoller = createHttpPoller(poller, options);\n const simplePoller: SimplePollerLike<OperationState<TResult>, TResult> = {\n isDone() {\n return httpPoller.isDone;\n },\n isStopped() {\n return httpPoller.isStopped;\n },\n getOperationState() {\n if (!httpPoller.operationState) {\n throw new Error(\n \"Operation state is not available. The poller may not have been started and you could await submitted() before calling getOperationState().\",\n );\n }\n return httpPoller.operationState;\n },\n getResult() {\n return httpPoller.result;\n },\n toString() {\n if (!httpPoller.operationState) {\n throw new Error(\n \"Operation state is not available. The poller may not have been started and you could await submitted() before calling getOperationState().\",\n );\n }\n return JSON.stringify({\n state: httpPoller.operationState,\n });\n },\n stopPolling() {\n abortController.abort();\n },\n onProgress: httpPoller.onProgress,\n poll: httpPoller.poll,\n pollUntilDone: httpPoller.pollUntilDone,\n serialize: httpPoller.serialize,\n submitted: httpPoller.submitted,\n };\n return simplePoller;\n}\n\n/**\n * Converts a Rest Client response to a response that the LRO implementation understands\n * @param response - a rest client http response\n * @returns - An LRO response that the LRO implementation understands\n */\nfunction getLroResponse<TResult extends HttpResponse>(\n response: TResult,\n): OperationResponse<TResult> {\n if (Number.isNaN(response.status)) {\n throw new TypeError(`Status code of the response is not a number. Value: ${response.status}`);\n }\n\n return {\n flatResponse: response,\n rawResponse: {\n ...response,\n statusCode: Number.parseInt(response.status),\n body: response.body,\n },\n };\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport DocumentTranslationClient from \"./documentTranslationClient\";\n\nexport * from \"./documentTranslationClient\";\nexport * from \"./parameters\";\nexport * from \"./responses\";\nexport * from \"./clientDefinitions\";\nexport * from \"./isUnexpected\";\nexport * from \"./models\";\nexport * from \"./outputModels\";\nexport * from \"./paginateHelper\";\nexport * from \"./pollingHelper\";\nexport {\n createFile,\n createFileFromStream,\n type CreateFileOptions,\n type CreateFileFromStreamOptions,\n} from \"@azure/core-rest-pipeline\";\n\nexport default DocumentTranslationClient;\n"],"names":["createClientLogger","getClient","getPagedAsyncIterator","createRestError","createHttpPoller"],"mappings":";;;;;;;;;;AAAA;AACA;AAGO,MAAM,MAAM,GAAGA,2BAAkB,CAAC,yBAAyB,CAAC;;ACJnE;AACA;AAOA;;;;;AAKG;AACW,SAAU,YAAY,CAClC,aAAqB,EACrB,WAA4C,EAC5C,OAAA,GAAyB,EAAE,EAAA;;AAE3B,IAAA,MAAM,WAAW,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,OAAO,CAAC,QAAQ,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,OAAO,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,CAAG,EAAA,aAAa,aAAa,CAAC;IACzF,OAAO,CAAC,UAAU,GAAG,CAAA,EAAA,GAAA,OAAO,CAAC,UAAU,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,YAAY,CAAC;IACxD,MAAM,aAAa,GAAG,CAAA,kDAAA,CAAoD,CAAC;IAC3E,MAAM,eAAe,GACnB,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,CAAC,eAAe;UAChE,GAAG,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAI,CAAA,EAAA,aAAa,CAAE,CAAA;AAChE,UAAE,CAAA,EAAG,aAAa,CAAA,CAAE,CAAC;AACzB,IAAA,OAAO,GACF,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,OAAO,CACV,EAAA,EAAA,gBAAgB,EAAE;YAChB,eAAe;AAChB,SAAA,EACD,cAAc,EAAE;YACd,MAAM,EAAE,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,OAAO,CAAC,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,MAAM,CAAC,IAAI;AACtD,SAAA,EACD,WAAW,EAAE;YACX,MAAM,EAAE,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,OAAO,CAAC,WAAW,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,CAAC,8CAA8C,CAAC;YACvF,gBAAgB,EAAE,MAAA,CAAA,EAAA,GAAA,OAAO,CAAC,WAAW,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,gBAAgB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,2BAA2B;AACvF,SAAA,EAAA,CACF,CAAC;IAEF,MAAM,MAAM,GAAGC,oBAAS,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAA8B,CAAC;AAEzF,IAAA,OAAO,MAAM,CAAC;AAChB;;AC3CA;AACA;AAsBA,MAAM,WAAW,GAA6B;IAC5C,0BAA0B,EAAE,CAAC,KAAK,CAAC;IACnC,uBAAuB,EAAE,CAAC,KAAK,CAAC;IAChC,wBAAwB,EAAE,CAAC,KAAK,CAAC;IACjC,mDAAmD,EAAE,CAAC,KAAK,CAAC;IAC5D,4BAA4B,EAAE,CAAC,KAAK,CAAC;IACrC,+BAA+B,EAAE,CAAC,KAAK,CAAC;IACxC,sCAAsC,EAAE,CAAC,KAAK,CAAC;IAC/C,uBAAuB,EAAE,CAAC,KAAK,CAAC;CACjC,CAAC;AA6BI,SAAU,YAAY,CAC1B,QAiBsC,EAAA;IAUtC,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAC1D,IAAA,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,WAAW,KAAX,IAAA,IAAA,WAAW,KAAX,KAAA,CAAA,GAAA,WAAW,GAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACzD,IAAA,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;AACvC,IAAA,IAAI,WAAW,GAAG,WAAW,CAAC,CAAG,EAAA,MAAM,CAAI,CAAA,EAAA,GAAG,CAAC,QAAQ,CAAE,CAAA,CAAC,CAAC;IAC3D,IAAI,CAAC,WAAW,EAAE;QAChB,WAAW,GAAG,0BAA0B,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;KAChE;IACD,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,0BAA0B,CAAC,MAAc,EAAE,IAAY,EAAA;;IAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;;;;IAKlC,IAAI,UAAU,GAAG,CAAC,CAAC,EACjB,YAAY,GAAa,EAAE,CAAC;;AAG9B,IAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;;;QAGtD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;YAC3B,SAAS;SACV;AACD,QAAA,MAAM,aAAa,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;;QAE7C,MAAM,cAAc,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;;QAGhD,IAAI,KAAK,GAAG,IAAI,CAAC;AACjB,QAAA,KAAK,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;YAC5F,IAAI,CAAA,CAAA,EAAA,GAAA,cAAc,CAAC,CAAC,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,UAAU,CAAC,GAAG,CAAC,KAAI,CAAA,CAAA,EAAA,GAAA,cAAc,CAAC,CAAC,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,CAAC,GAAG,CAAC,MAAK,CAAC,CAAC,EAAE;gBAChF,MAAM,KAAK,GAAG,cAAc,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAC/C,GAAG,GAAG,CAAA,EAAA,GAAA,cAAc,CAAC,CAAC,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,CAAC;;;;;AAKlC,gBAAA,MAAM,SAAS,GAAG,IAAI,MAAM,CAAC,CAAA,EAAG,CAAA,EAAA,GAAA,cAAc,CAAC,CAAC,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA,CAAE,CAAC,CAAC,IAAI,CAC1E,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CACnB,CAAC;gBAEF,IAAI,CAAC,SAAS,EAAE;oBACd,KAAK,GAAG,KAAK,CAAC;oBACd,MAAM;iBACP;gBACD,SAAS;aACV;;;;YAKD,IAAI,cAAc,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE;gBACtC,KAAK,GAAG,KAAK,CAAC;gBACd,MAAM;aACP;SACF;;;QAID,IAAI,KAAK,IAAI,aAAa,CAAC,MAAM,GAAG,UAAU,EAAE;AAC9C,YAAA,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC;YAClC,YAAY,GAAG,KAAK,CAAC;SACtB;KACF;AAED,IAAA,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAc,EAAA;IACvC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACtC,IAAA,OAAO,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AACjC;;ACnKA;AACA;AA4CA;;;;;;AAMG;AACG,SAAU,QAAQ,CACtB,MAAc,EACd,eAA0B,EAC1B,UAAoC,EAAE,EAAA;IAItC,IAAI,QAAQ,GAAG,IAAI,CAAC;IACpB,MAAM,QAAQ,GAAG,OAAO,CAAC;IACzB,MAAM,YAAY,GAAG,UAAU,CAAC;AAChC,IAAA,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;AAClC,IAAA,MAAM,WAAW,GAA4B;AAC3C,QAAA,aAAa,EAAE,EAAE;AACjB,QAAA,OAAO,EACL,OAAO,aAAa,KAAK,UAAU;AACjC,cAAE,aAAa;AACf,cAAE,OAAO,QAAgB,KAAI;gBACzB,MAAM,MAAM,GAAG,QAAQ,GAAG,eAAe,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;gBACvF,QAAQ,GAAG,KAAK,CAAC;gBACjB,kBAAkB,CAAC,MAAM,CAAC,CAAC;gBAC3B,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;gBACxD,MAAM,MAAM,GAAG,WAAW,CAAW,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAC5D,OAAO;AACL,oBAAA,IAAI,EAAE,MAAM;AACZ,oBAAA,YAAY,EAAE,QAAQ;iBACvB,CAAC;aACH;KACR,CAAC;AAEF,IAAA,OAAOC,gCAAqB,CAAC,WAAW,CAAC,CAAC;AAC5C,CAAC;AAED;;AAEG;AACH,SAAS,WAAW,CAAC,IAAa,EAAE,YAAqB,EAAA;IACvD,IAAI,CAAC,YAAY,EAAE;AACjB,QAAA,OAAO,SAAS,CAAC;KAClB;AAED,IAAA,MAAM,QAAQ,GAAI,IAAgC,CAAC,YAAY,CAAC,CAAC;IAEjE,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;AACnE,QAAA,MAAM,IAAI,KAAK,CAAC,iBAAiB,YAAY,CAAA,gCAAA,CAAkC,CAAC,CAAC;KAClF;AAED,IAAA,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;AAEG;AACH,SAAS,WAAW,CAAc,IAAa,EAAE,QAAgB,EAAA;AAC/D,IAAA,MAAM,KAAK,GAAI,IAAgC,CAAC,QAAQ,CAAQ,CAAC;;;;IAKjE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACzB,QAAA,MAAM,IAAI,KAAK,CACb,kFAAkF,QAAQ,CAAA,CAAE,CAC7F,CAAC;KACH;AAED,IAAA,OAAO,KAAK,KAAL,IAAA,IAAA,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC;AACrB,CAAC;AAED;;AAEG;AACH,SAAS,kBAAkB,CAAC,QAA+B,EAAA;IACzD,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAClG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QACjD,MAAMC,0BAAe,CACnB,CAAA,6CAAA,EAAgD,QAAQ,CAAC,MAAM,CAAE,CAAA,EACjE,QAAQ,CACT,CAAC;KACH;AACH;;AClIA;AACA;AAgGO,eAAe,oBAAoB,CACxC,MAAc,EACd,eAAwB,EACxB,OAAA,GAAqE,EAAE,EAAA;;AAEvE,IAAA,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;AAC9C,IAAA,MAAM,MAAM,GAAkC;QAC5C,kBAAkB,EAAE,YAAW;;;;AAI7B,YAAA,OAAO,cAAc,CAAC,eAAe,CAAC,CAAC;SACxC;AACD,QAAA,eAAe,EAAE,OAAO,IAAI,EAAE,sBAA0D,KAAI;;;;;AAK1F,YAAA,SAAS,aAAa,GAAA;gBACpB,eAAe,CAAC,KAAK,EAAE,CAAC;aACzB;YACD,MAAM,gBAAgB,GAAG,sBAAsB,KAAA,IAAA,IAAtB,sBAAsB,KAAtB,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,sBAAsB,CAAE,WAAW,CAAC;AAC7D,YAAA,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC;YAC3C,IAAI,gBAAgB,aAAhB,gBAAgB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhB,gBAAgB,CAAE,OAAO,EAAE;gBAC7B,eAAe,CAAC,KAAK,EAAE,CAAC;aACzB;AAAM,iBAAA,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;gBAC/B,gBAAgB,KAAA,IAAA,IAAhB,gBAAgB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhB,gBAAgB,CAAE,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE;AACzD,oBAAA,IAAI,EAAE,IAAI;AACX,iBAAA,CAAC,CAAC;aACJ;AACD,YAAA,IAAI,QAAQ,CAAC;AACb,YAAA,IAAI;gBACF,QAAQ,GAAG,MAAM,MAAM;AACpB,qBAAA,aAAa,CAAC,IAAI,KAAJ,IAAA,IAAA,IAAI,KAAJ,KAAA,CAAA,GAAA,IAAI,GAAI,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC;AAClD,qBAAA,GAAG,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;aACzB;oBAAS;gBACR,gBAAgB,KAAA,IAAA,IAAhB,gBAAgB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhB,gBAAgB,CAAE,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;aAC/D;AACD,YAAA,MAAM,WAAW,GAAG,cAAc,CAAC,QAAmB,CAAC,CAAC;AACxD,YAAA,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC;AACnF,YAAA,OAAO,WAAW,CAAC;SACpB;KACF,CAAC;IAEF,OAAO,CAAC,qBAAqB,GAAG,CAAA,EAAA,GAAA,OAAO,CAAC,qBAAqB,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,IAAI,CAAC;IACtE,MAAM,UAAU,GAAGC,wBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACrD,IAAA,MAAM,YAAY,GAAuD;QACvE,MAAM,GAAA;YACJ,OAAO,UAAU,CAAC,MAAM,CAAC;SAC1B;QACD,SAAS,GAAA;YACP,OAAO,UAAU,CAAC,SAAS,CAAC;SAC7B;QACD,iBAAiB,GAAA;AACf,YAAA,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE;AAC9B,gBAAA,MAAM,IAAI,KAAK,CACb,4IAA4I,CAC7I,CAAC;aACH;YACD,OAAO,UAAU,CAAC,cAAc,CAAC;SAClC;QACD,SAAS,GAAA;YACP,OAAO,UAAU,CAAC,MAAM,CAAC;SAC1B;QACD,QAAQ,GAAA;AACN,YAAA,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE;AAC9B,gBAAA,MAAM,IAAI,KAAK,CACb,4IAA4I,CAC7I,CAAC;aACH;YACD,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,KAAK,EAAE,UAAU,CAAC,cAAc;AACjC,aAAA,CAAC,CAAC;SACJ;QACD,WAAW,GAAA;YACT,eAAe,CAAC,KAAK,EAAE,CAAC;SACzB;QACD,UAAU,EAAE,UAAU,CAAC,UAAU;QACjC,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,aAAa,EAAE,UAAU,CAAC,aAAa;QACvC,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,SAAS,EAAE,UAAU,CAAC,SAAS;KAChC,CAAC;AACF,IAAA,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;AAIG;AACH,SAAS,cAAc,CACrB,QAAiB,EAAA;IAEjB,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QACjC,MAAM,IAAI,SAAS,CAAC,CAAA,oDAAA,EAAuD,QAAQ,CAAC,MAAM,CAAE,CAAA,CAAC,CAAC;KAC/F;IAED,OAAO;AACL,QAAA,YAAY,EAAE,QAAQ;AACtB,QAAA,WAAW,kCACN,QAAQ,CAAA,EAAA,EACX,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAC5C,IAAI,EAAE,QAAQ,CAAC,IAAI,EACpB,CAAA;KACF,CAAC;AACJ;;AC3MA;AACA;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../src/logger.ts","../src/documentTranslationClient.ts","../src/isUnexpected.ts","../src/paginateHelper.ts","../src/pollingHelper.ts","../src/index.ts"],"sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { createClientLogger } from \"@azure/logger\";\nexport const logger = createClientLogger(\"ai-translation-document\");\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport type { ClientOptions } from \"@azure-rest/core-client\";\nimport { getClient } from \"@azure-rest/core-client\";\nimport { logger } from \"./logger\";\nimport type { TokenCredential, KeyCredential } from \"@azure/core-auth\";\nimport type { DocumentTranslationClient } from \"./clientDefinitions\";\n\n/** The optional parameters for the client */\nexport interface DocumentTranslationClientOptions extends ClientOptions {\n /** The api version option of the client */\n apiVersion?: string;\n}\n\n/**\n * Initialize a new instance of `DocumentTranslationClient`\n * @param endpointParam - Supported document Translation endpoint, protocol and hostname, for example: https://{TranslatorResourceName}.cognitiveservices.azure.com/translator.\n * @param credentials - uniquely identify client credential\n * @param options - the parameter for all optional parameters\n */\nexport default function createClient(\n endpointParam: string,\n credentials: TokenCredential | KeyCredential,\n { apiVersion = \"2024-05-01\", ...options }: DocumentTranslationClientOptions = {},\n): DocumentTranslationClient {\n const endpointUrl = options.endpoint ?? options.baseUrl ?? `${endpointParam}/translator`;\n const userAgentInfo = `azsdk-js-ai-translation-document-rest/1.0.0-beta.1`;\n const userAgentPrefix =\n options.userAgentOptions && options.userAgentOptions.userAgentPrefix\n ? `${options.userAgentOptions.userAgentPrefix} ${userAgentInfo}`\n : `${userAgentInfo}`;\n options = {\n ...options,\n userAgentOptions: {\n userAgentPrefix,\n },\n loggingOptions: {\n logger: options.loggingOptions?.logger ?? logger.info,\n },\n credentials: {\n scopes: options.credentials?.scopes ?? [\"https://cognitiveservices.azure.com/.default\"],\n apiKeyHeaderName: options.credentials?.apiKeyHeaderName ?? \"Ocp-Apim-Subscription-Key\",\n },\n };\n const client = getClient(endpointUrl, credentials, options) as DocumentTranslationClient;\n\n client.pipeline.removePolicy({ name: \"ApiVersionPolicy\" });\n client.pipeline.addPolicy({\n name: \"ClientApiVersionPolicy\",\n sendRequest: (req, next) => {\n // Use the apiVersion defined in request url directly\n // Append one if there is no apiVersion and we have one at client options\n const url = new URL(req.url);\n if (!url.searchParams.get(\"api-version\") && apiVersion) {\n req.url = `${req.url}${\n Array.from(url.searchParams.keys()).length > 0 ? \"&\" : \"?\"\n }api-version=${apiVersion}`;\n }\n\n return next(req);\n },\n });\n\n return client;\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport type {\n DocumentTranslate200Response,\n DocumentTranslateDefaultResponse,\n StartTranslation202Response,\n StartTranslationLogicalResponse,\n StartTranslationDefaultResponse,\n GetTranslationsStatus200Response,\n GetTranslationsStatusDefaultResponse,\n GetDocumentStatus200Response,\n GetDocumentStatusDefaultResponse,\n GetTranslationStatus200Response,\n GetTranslationStatusDefaultResponse,\n CancelTranslation200Response,\n CancelTranslationDefaultResponse,\n GetDocumentsStatus200Response,\n GetDocumentsStatusDefaultResponse,\n GetSupportedFormats200Response,\n GetSupportedFormatsDefaultResponse,\n} from \"./responses.js\";\n\nconst responseMap: Record<string, string[]> = {\n \"POST /document:translate\": [\"200\"],\n \"GET /document/batches\": [\"200\"],\n \"POST /document/batches\": [\"202\"],\n \"GET /document/batches/{id}/documents/{documentId}\": [\"200\"],\n \"GET /document/batches/{id}\": [\"200\"],\n \"DELETE /document/batches/{id}\": [\"200\"],\n \"GET /document/batches/{id}/documents\": [\"200\"],\n \"GET /document/formats\": [\"200\"],\n};\n\nexport function isUnexpected(\n response: DocumentTranslate200Response | DocumentTranslateDefaultResponse,\n): response is DocumentTranslateDefaultResponse;\nexport function isUnexpected(\n response:\n | StartTranslation202Response\n | StartTranslationLogicalResponse\n | StartTranslationDefaultResponse,\n): response is StartTranslationDefaultResponse;\nexport function isUnexpected(\n response: GetTranslationsStatus200Response | GetTranslationsStatusDefaultResponse,\n): response is GetTranslationsStatusDefaultResponse;\nexport function isUnexpected(\n response: GetDocumentStatus200Response | GetDocumentStatusDefaultResponse,\n): response is GetDocumentStatusDefaultResponse;\nexport function isUnexpected(\n response: GetTranslationStatus200Response | GetTranslationStatusDefaultResponse,\n): response is GetTranslationStatusDefaultResponse;\nexport function isUnexpected(\n response: CancelTranslation200Response | CancelTranslationDefaultResponse,\n): response is CancelTranslationDefaultResponse;\nexport function isUnexpected(\n response: GetDocumentsStatus200Response | GetDocumentsStatusDefaultResponse,\n): response is GetDocumentsStatusDefaultResponse;\nexport function isUnexpected(\n response: GetSupportedFormats200Response | GetSupportedFormatsDefaultResponse,\n): response is GetSupportedFormatsDefaultResponse;\nexport function isUnexpected(\n response:\n | DocumentTranslate200Response\n | DocumentTranslateDefaultResponse\n | StartTranslation202Response\n | StartTranslationLogicalResponse\n | StartTranslationDefaultResponse\n | GetTranslationsStatus200Response\n | GetTranslationsStatusDefaultResponse\n | GetDocumentStatus200Response\n | GetDocumentStatusDefaultResponse\n | GetTranslationStatus200Response\n | GetTranslationStatusDefaultResponse\n | CancelTranslation200Response\n | CancelTranslationDefaultResponse\n | GetDocumentsStatus200Response\n | GetDocumentsStatusDefaultResponse\n | GetSupportedFormats200Response\n | GetSupportedFormatsDefaultResponse,\n): response is\n | DocumentTranslateDefaultResponse\n | StartTranslationDefaultResponse\n | GetTranslationsStatusDefaultResponse\n | GetDocumentStatusDefaultResponse\n | GetTranslationStatusDefaultResponse\n | CancelTranslationDefaultResponse\n | GetDocumentsStatusDefaultResponse\n | GetSupportedFormatsDefaultResponse {\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","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport type { PagedAsyncIterableIterator, PagedResult } from \"@azure/core-paging\";\nimport { getPagedAsyncIterator } from \"@azure/core-paging\";\nimport type { Client, PathUncheckedResponse } from \"@azure-rest/core-client\";\nimport { createRestError } from \"@azure-rest/core-client\";\n\n/**\n * Helper type to extract the type of an array\n */\nexport type GetArrayType<T> = T extends Array<infer TData> ? TData : never;\n\n/**\n * The type of a custom function that defines how to get a page and a link to the next one if any.\n */\nexport type GetPage<TPage> = (\n pageLink: string,\n maxPageSize?: number,\n) => Promise<{\n page: TPage;\n nextPageLink?: string;\n}>;\n\n/**\n * Options for the paging helper\n */\nexport interface PagingOptions<TResponse> {\n /**\n * Custom function to extract pagination details for crating the PagedAsyncIterableIterator\n */\n customGetPage?: GetPage<PaginateReturn<TResponse>[]>;\n}\n\n/**\n * Helper type to infer the Type of the paged elements from the response type\n * This type is generated based on the swagger information for x-ms-pageable\n * specifically on the itemName property which indicates the property of the response\n * where the page items are found. The default value is `value`.\n * This type will allow us to provide strongly typed Iterator based on the response we get as second parameter\n */\nexport type PaginateReturn<TResult> = TResult extends {\n body: { value?: infer TPage };\n}\n ? GetArrayType<TPage>\n : Array<unknown>;\n\n/**\n * Helper to paginate results from an initial response that follows the specification of Autorest `x-ms-pageable` extension\n * @param client - Client to use for sending the next page requests\n * @param initialResponse - Initial response containing the nextLink and current page of elements\n * @param customGetPage - Optional - Function to define how to extract the page and next link to be used to paginate the results\n * @returns - PagedAsyncIterableIterator to iterate the elements\n */\nexport function paginate<TResponse extends PathUncheckedResponse>(\n client: Client,\n initialResponse: TResponse,\n options: PagingOptions<TResponse> = {},\n): PagedAsyncIterableIterator<PaginateReturn<TResponse>> {\n // Extract element type from initial response\n type TElement = PaginateReturn<TResponse>;\n let firstRun = true;\n const itemName = \"value\";\n const nextLinkName = \"nextLink\";\n const { customGetPage } = options;\n const pagedResult: PagedResult<TElement[]> = {\n firstPageLink: \"\",\n getPage:\n typeof customGetPage === \"function\"\n ? customGetPage\n : async (pageLink: string) => {\n const result = firstRun ? initialResponse : await client.pathUnchecked(pageLink).get();\n firstRun = false;\n checkPagingRequest(result);\n const nextLink = getNextLink(result.body, nextLinkName);\n const values = getElements<TElement>(result.body, itemName);\n return {\n page: values,\n nextPageLink: nextLink,\n };\n },\n };\n\n return getPagedAsyncIterator(pagedResult);\n}\n\n/**\n * Gets for the value of nextLink in the body\n */\nfunction getNextLink(body: unknown, nextLinkName?: string): string | undefined {\n if (!nextLinkName) {\n return undefined;\n }\n\n const nextLink = (body as Record<string, unknown>)[nextLinkName];\n\n if (typeof nextLink !== \"string\" && typeof nextLink !== \"undefined\") {\n throw new Error(`Body Property ${nextLinkName} should be a string or undefined`);\n }\n\n return nextLink;\n}\n\n/**\n * Gets the elements of the current request in the body.\n */\nfunction getElements<T = unknown>(body: unknown, itemName: string): T[] {\n const value = (body as Record<string, unknown>)[itemName] as T[];\n\n // value has to be an array according to the x-ms-pageable extension.\n // The fact that this must be an array is used above to calculate the\n // type of elements in the page in PaginateReturn\n if (!Array.isArray(value)) {\n throw new Error(\n `Couldn't paginate response\\n Body doesn't contain an array property with name: ${itemName}`,\n );\n }\n\n return value ?? [];\n}\n\n/**\n * Checks if a request failed\n */\nfunction checkPagingRequest(response: PathUncheckedResponse): void {\n const Http2xxStatusCodes = [\"200\", \"201\", \"202\", \"203\", \"204\", \"205\", \"206\", \"207\", \"208\", \"226\"];\n if (!Http2xxStatusCodes.includes(response.status)) {\n throw createRestError(\n `Pagination failed with unexpected statusCode ${response.status}`,\n response,\n );\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport type { Client, HttpResponse } from \"@azure-rest/core-client\";\nimport type { AbortSignalLike } from \"@azure/abort-controller\";\nimport type {\n CancelOnProgress,\n CreateHttpPollerOptions,\n RunningOperation,\n OperationResponse,\n OperationState,\n} from \"@azure/core-lro\";\nimport { createHttpPoller } from \"@azure/core-lro\";\nimport type {\n StartTranslation202Response,\n StartTranslationDefaultResponse,\n StartTranslationLogicalResponse,\n} from \"./responses.js\";\n\n/**\n * A simple poller that can be used to poll a long running operation.\n */\nexport interface SimplePollerLike<TState extends OperationState<TResult>, TResult> {\n /**\n * Returns true if the poller has finished polling.\n */\n isDone(): boolean;\n /**\n * Returns the state of the operation.\n */\n getOperationState(): TState;\n /**\n * Returns the result value of the operation,\n * regardless of the state of the poller.\n * It can return undefined or an incomplete form of the final TResult value\n * depending on the implementation.\n */\n getResult(): TResult | undefined;\n /**\n * Returns a promise that will resolve once a single polling request finishes.\n * It does this by calling the update method of the Poller's operation.\n */\n poll(options?: { abortSignal?: AbortSignalLike }): Promise<TState>;\n /**\n * Returns a promise that will resolve once the underlying operation is completed.\n */\n pollUntilDone(pollOptions?: { abortSignal?: AbortSignalLike }): Promise<TResult>;\n /**\n * Invokes the provided callback after each polling is completed,\n * sending the current state of the poller's operation.\n *\n * It returns a method that can be used to stop receiving updates on the given callback function.\n */\n onProgress(callback: (state: TState) => void): CancelOnProgress;\n\n /**\n * Returns a promise that could be used for serialized version of the poller's operation\n * by invoking the operation's serialize method.\n */\n serialize(): Promise<string>;\n\n /**\n * Wait the poller to be submitted.\n */\n submitted(): Promise<void>;\n\n /**\n * Returns a string representation of the poller's operation. Similar to serialize but returns a string.\n * @deprecated Use serialize() instead.\n */\n toString(): string;\n\n /**\n * Stops the poller from continuing to poll. Please note this will only stop the client-side polling\n * @deprecated Use abortSignal to stop polling instead.\n */\n stopPolling(): void;\n\n /**\n * Returns true if the poller is stopped.\n * @deprecated Use abortSignal status to track this instead.\n */\n isStopped(): boolean;\n}\n\n/**\n * Helper function that builds a Poller object to help polling a long running operation.\n * @param client - Client to use for sending the request to get additional pages.\n * @param initialResponse - The initial response.\n * @param options - Options to set a resume state or custom polling interval.\n * @returns - A poller object to poll for operation state updates and eventually get the final response.\n */\nexport async function getLongRunningPoller<\n TResult extends StartTranslationLogicalResponse | StartTranslationDefaultResponse,\n>(\n client: Client,\n initialResponse: StartTranslation202Response | StartTranslationDefaultResponse,\n options?: CreateHttpPollerOptions<TResult, OperationState<TResult>>,\n): Promise<SimplePollerLike<OperationState<TResult>, TResult>>;\nexport async function getLongRunningPoller<TResult extends HttpResponse>(\n client: Client,\n initialResponse: TResult,\n options: CreateHttpPollerOptions<TResult, OperationState<TResult>> = {},\n): Promise<SimplePollerLike<OperationState<TResult>, TResult>> {\n const abortController = new AbortController();\n const poller: RunningOperation<TResult> = {\n sendInitialRequest: async () => {\n // In the case of Rest Clients we are building the LRO poller object from a response that's the reason\n // we are not triggering the initial request here, just extracting the information from the\n // response we were provided.\n return getLroResponse(initialResponse);\n },\n sendPollRequest: async (path: string, pollOptions?: { abortSignal?: AbortSignalLike }) => {\n // This is the callback that is going to be called to poll the service\n // to get the latest status. We use the client provided and the polling path\n // which is an opaque URL provided by caller, the service sends this in one of the following headers: operation-location, azure-asyncoperation or location\n // depending on the lro pattern that the service implements. If non is provided we default to the initial path.\n function abortListener(): void {\n abortController.abort();\n }\n const inputAbortSignal = pollOptions?.abortSignal;\n const abortSignal = abortController.signal;\n if (inputAbortSignal?.aborted) {\n abortController.abort();\n } else if (!abortSignal.aborted) {\n inputAbortSignal?.addEventListener(\"abort\", abortListener, {\n once: true,\n });\n }\n let response;\n try {\n response = await client\n .pathUnchecked(path ?? initialResponse.request.url)\n .get({ abortSignal });\n } finally {\n inputAbortSignal?.removeEventListener(\"abort\", abortListener);\n }\n const lroResponse = getLroResponse(response as TResult);\n lroResponse.rawResponse.headers[\"x-ms-original-url\"] = initialResponse.request.url;\n return lroResponse;\n },\n };\n\n options.resolveOnUnsuccessful = options.resolveOnUnsuccessful ?? true;\n const httpPoller = createHttpPoller(poller, options);\n const simplePoller: SimplePollerLike<OperationState<TResult>, TResult> = {\n isDone() {\n return httpPoller.isDone;\n },\n isStopped() {\n return abortController.signal.aborted;\n },\n getOperationState() {\n if (!httpPoller.operationState) {\n throw new Error(\n \"Operation state is not available. The poller may not have been started and you could await submitted() before calling getOperationState().\",\n );\n }\n return httpPoller.operationState;\n },\n getResult() {\n return httpPoller.result;\n },\n toString() {\n if (!httpPoller.operationState) {\n throw new Error(\n \"Operation state is not available. The poller may not have been started and you could await submitted() before calling getOperationState().\",\n );\n }\n return JSON.stringify({\n state: httpPoller.operationState,\n });\n },\n stopPolling() {\n abortController.abort();\n },\n onProgress: httpPoller.onProgress,\n poll: httpPoller.poll,\n pollUntilDone: httpPoller.pollUntilDone,\n serialize: httpPoller.serialize,\n submitted: httpPoller.submitted,\n };\n return simplePoller;\n}\n\n/**\n * Converts a Rest Client response to a response that the LRO implementation understands\n * @param response - a rest client http response\n * @returns - An LRO response that the LRO implementation understands\n */\nfunction getLroResponse<TResult extends HttpResponse>(\n response: TResult,\n): OperationResponse<TResult> {\n if (Number.isNaN(response.status)) {\n throw new TypeError(`Status code of the response is not a number. Value: ${response.status}`);\n }\n\n return {\n flatResponse: response,\n rawResponse: {\n ...response,\n statusCode: Number.parseInt(response.status),\n body: response.body,\n },\n };\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport DocumentTranslationClient from \"./documentTranslationClient\";\n\nexport * from \"./documentTranslationClient\";\nexport * from \"./parameters\";\nexport * from \"./responses\";\nexport * from \"./clientDefinitions\";\nexport * from \"./isUnexpected\";\nexport * from \"./models\";\nexport * from \"./outputModels\";\nexport * from \"./paginateHelper\";\nexport * from \"./pollingHelper\";\n\nexport default DocumentTranslationClient;\n"],"names":["createClientLogger","__rest","getClient","getPagedAsyncIterator","createRestError","createHttpPoller"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT license.
2
+ // Licensed under the MIT License.
3
3
  export {};
4
4
  //# sourceMappingURL=clientDefinitions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"clientDefinitions.js","sourceRoot":"","sources":["../../src/clientDefinitions.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport {\n DocumentTranslateParameters,\n StartTranslationParameters,\n GetTranslationsStatusParameters,\n GetDocumentStatusParameters,\n GetTranslationStatusParameters,\n CancelTranslationParameters,\n GetDocumentsStatusParameters,\n GetSupportedFormatsParameters,\n} from \"./parameters.js\";\nimport {\n DocumentTranslate200Response,\n DocumentTranslateDefaultResponse,\n StartTranslation202Response,\n StartTranslationDefaultResponse,\n GetTranslationsStatus200Response,\n GetTranslationsStatusDefaultResponse,\n GetDocumentStatus200Response,\n GetDocumentStatusDefaultResponse,\n GetTranslationStatus200Response,\n GetTranslationStatusDefaultResponse,\n CancelTranslation200Response,\n CancelTranslationDefaultResponse,\n GetDocumentsStatus200Response,\n GetDocumentsStatusDefaultResponse,\n GetSupportedFormats200Response,\n GetSupportedFormatsDefaultResponse,\n} from \"./responses.js\";\nimport { Client, StreamableMethod } from \"@azure-rest/core-client\";\n\nexport interface DocumentTranslate {\n /** Use this API to submit a single translation request to the Document Translation Service. */\n post(\n options: DocumentTranslateParameters,\n ): StreamableMethod<DocumentTranslate200Response | DocumentTranslateDefaultResponse>;\n}\n\nexport interface StartTranslation {\n /**\n * Use this API to submit a bulk (batch) translation request to the Document\n * Translation service.\n * Each request can contain multiple documents and must\n * contain a source and destination container for each document.\n *\n * The\n * prefix and suffix filter (if supplied) are used to filter folders. The prefix\n * is applied to the subpath after the container name.\n *\n * Glossaries /\n * Translation memory can be included in the request and are applied by the\n * service when the document is translated.\n *\n * If the glossary is\n * invalid or unreachable during translation, an error is indicated in the\n * document status.\n * If a file with the same name already exists at the\n * destination, it will be overwritten. The targetUrl for each target language\n * must be unique.\n */\n post(\n options?: StartTranslationParameters,\n ): StreamableMethod<StartTranslation202Response | StartTranslationDefaultResponse>;\n /**\n * Returns a list of batch requests submitted and the status for each\n * request.\n * This list only contains batch requests submitted by the user (based on\n * the resource).\n *\n * If the number of requests exceeds our paging limit,\n * server-side paging is used. Paginated responses indicate a partial result and\n * include a continuation token in the response.\n * The absence of a continuation\n * token means that no additional pages are available.\n *\n * top, skip\n * and maxpagesize query parameters can be used to specify a number of results to\n * return and an offset for the collection.\n *\n * top indicates the total\n * number of records the user wants to be returned across all pages.\n * skip\n * indicates the number of records to skip from the list of batches based on the\n * sorting method specified. By default, we sort by descending start\n * time.\n * maxpagesize is the maximum items returned in a page. If more items are\n * requested via top (or top is not specified and there are more items to be\n * returned), @nextLink will contain the link to the next page.\n *\n *\n * orderby query parameter can be used to sort the returned list (ex\n * \"orderby=createdDateTimeUtc asc\" or \"orderby=createdDateTimeUtc\n * desc\").\n * The default sorting is descending by createdDateTimeUtc.\n * Some query\n * parameters can be used to filter the returned list (ex:\n * \"status=Succeeded,Cancelled\") will only return succeeded and cancelled\n * operations.\n * createdDateTimeUtcStart and createdDateTimeUtcEnd can be used\n * combined or separately to specify a range of datetime to filter the returned\n * list by.\n * The supported filtering query parameters are (status, ids,\n * createdDateTimeUtcStart, createdDateTimeUtcEnd).\n *\n * The server honors\n * the values specified by the client. However, clients must be prepared to handle\n * responses that contain a different page size or contain a continuation token.\n *\n *\n * When both top and skip are included, the server should first apply\n * skip and then top on the collection.\n * Note: If the server can't honor top\n * and/or skip, the server must return an error to the client informing about it\n * instead of just ignoring the query options.\n * This reduces the risk of the client\n * making assumptions about the data returned.\n */\n get(\n options?: GetTranslationsStatusParameters,\n ): StreamableMethod<GetTranslationsStatus200Response | GetTranslationsStatusDefaultResponse>;\n}\n\nexport interface GetDocumentStatus {\n /**\n * Returns the translation status for a specific document based on the request Id\n * and document Id.\n */\n get(\n options?: GetDocumentStatusParameters,\n ): StreamableMethod<GetDocumentStatus200Response | GetDocumentStatusDefaultResponse>;\n}\n\nexport interface GetTranslationStatus {\n /**\n * Returns the status for a document translation request.\n * The status includes the\n * overall request status, as well as the status for documents that are being\n * translated as part of that request.\n */\n get(\n options?: GetTranslationStatusParameters,\n ): StreamableMethod<GetTranslationStatus200Response | GetTranslationStatusDefaultResponse>;\n /**\n * Cancel a currently processing or queued translation.\n * A translation will not be\n * cancelled if it is already completed or failed or cancelling. A bad request\n * will be returned.\n * All documents that have completed translation will not be\n * cancelled and will be charged.\n * All pending documents will be cancelled if\n * possible.\n */\n delete(\n options?: CancelTranslationParameters,\n ): StreamableMethod<CancelTranslation200Response | CancelTranslationDefaultResponse>;\n}\n\nexport interface GetDocumentsStatus {\n /**\n * Returns the status for all documents in a batch document translation request.\n *\n *\n * If the number of documents in the response exceeds our paging limit,\n * server-side paging is used.\n * Paginated responses indicate a partial result and\n * include a continuation token in the response. The absence of a continuation\n * token means that no additional pages are available.\n *\n * top, skip\n * and maxpagesize query parameters can be used to specify a number of results to\n * return and an offset for the collection.\n *\n * top indicates the total\n * number of records the user wants to be returned across all pages.\n * skip\n * indicates the number of records to skip from the list of document status held\n * by the server based on the sorting method specified. By default, we sort by\n * descending start time.\n * maxpagesize is the maximum items returned in a page.\n * If more items are requested via top (or top is not specified and there are\n * more items to be returned), @nextLink will contain the link to the next page.\n *\n *\n * orderby query parameter can be used to sort the returned list (ex\n * \"orderby=createdDateTimeUtc asc\" or \"orderby=createdDateTimeUtc\n * desc\").\n * The default sorting is descending by createdDateTimeUtc.\n * Some query\n * parameters can be used to filter the returned list (ex:\n * \"status=Succeeded,Cancelled\") will only return succeeded and cancelled\n * documents.\n * createdDateTimeUtcStart and createdDateTimeUtcEnd can be used\n * combined or separately to specify a range of datetime to filter the returned\n * list by.\n * The supported filtering query parameters are (status, ids,\n * createdDateTimeUtcStart, createdDateTimeUtcEnd).\n *\n * When both top\n * and skip are included, the server should first apply skip and then top on\n * the collection.\n * Note: If the server can't honor top and/or skip, the server\n * must return an error to the client informing about it instead of just ignoring\n * the query options.\n * This reduces the risk of the client making assumptions about\n * the data returned.\n */\n get(\n options?: GetDocumentsStatusParameters,\n ): StreamableMethod<GetDocumentsStatus200Response | GetDocumentsStatusDefaultResponse>;\n}\n\nexport interface GetSupportedFormats {\n /**\n * The list of supported formats supported by the Document Translation\n * service.\n * The list includes the common file extension, as well as the\n * content-type if using the upload API.\n */\n get(\n options?: GetSupportedFormatsParameters,\n ): StreamableMethod<GetSupportedFormats200Response | GetSupportedFormatsDefaultResponse>;\n}\n\nexport interface Routes {\n /** Resource for '/document:translate' has methods for the following verbs: post */\n (path: \"/document:translate\"): DocumentTranslate;\n /** Resource for '/document/batches' has methods for the following verbs: post, get */\n (path: \"/document/batches\"): StartTranslation;\n /** Resource for '/document/batches/\\{id\\}/documents/\\{documentId\\}' has methods for the following verbs: get */\n (\n path: \"/document/batches/{id}/documents/{documentId}\",\n id: string,\n documentId: string,\n ): GetDocumentStatus;\n /** Resource for '/document/batches/\\{id\\}' has methods for the following verbs: get, delete */\n (path: \"/document/batches/{id}\", id: string): GetTranslationStatus;\n /** Resource for '/document/batches/\\{id\\}/documents' has methods for the following verbs: get */\n (path: \"/document/batches/{id}/documents\", id: string): GetDocumentsStatus;\n /** Resource for '/document/formats' has methods for the following verbs: get */\n (path: \"/document/formats\"): GetSupportedFormats;\n}\n\nexport type DocumentTranslationClient = Client & {\n path: Routes;\n};\n"]}
1
+ {"version":3,"file":"clientDefinitions.js","sourceRoot":"","sources":["../../src/clientDefinitions.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport type {\n DocumentTranslateParameters,\n StartTranslationParameters,\n GetTranslationsStatusParameters,\n GetDocumentStatusParameters,\n GetTranslationStatusParameters,\n CancelTranslationParameters,\n GetDocumentsStatusParameters,\n GetSupportedFormatsParameters,\n} from \"./parameters.js\";\nimport type {\n DocumentTranslate200Response,\n DocumentTranslateDefaultResponse,\n StartTranslation202Response,\n StartTranslationDefaultResponse,\n GetTranslationsStatus200Response,\n GetTranslationsStatusDefaultResponse,\n GetDocumentStatus200Response,\n GetDocumentStatusDefaultResponse,\n GetTranslationStatus200Response,\n GetTranslationStatusDefaultResponse,\n CancelTranslation200Response,\n CancelTranslationDefaultResponse,\n GetDocumentsStatus200Response,\n GetDocumentsStatusDefaultResponse,\n GetSupportedFormats200Response,\n GetSupportedFormatsDefaultResponse,\n} from \"./responses.js\";\nimport type { Client, StreamableMethod } from \"@azure-rest/core-client\";\n\nexport interface DocumentTranslate {\n /** Use this API to submit a single translation request to the Document Translation Service. */\n post(\n options: DocumentTranslateParameters,\n ): StreamableMethod<DocumentTranslate200Response | DocumentTranslateDefaultResponse>;\n}\n\nexport interface StartTranslation {\n /**\n * Use this API to submit a bulk (batch) translation request to the Document\n * Translation service.\n * Each request can contain multiple documents and must\n * contain a source and destination container for each document.\n *\n * The\n * prefix and suffix filter (if supplied) are used to filter folders. The prefix\n * is applied to the subpath after the container name.\n *\n * Glossaries /\n * Translation memory can be included in the request and are applied by the\n * service when the document is translated.\n *\n * If the glossary is\n * invalid or unreachable during translation, an error is indicated in the\n * document status.\n * If a file with the same name already exists at the\n * destination, it will be overwritten. The targetUrl for each target language\n * must be unique.\n */\n post(\n options: StartTranslationParameters,\n ): StreamableMethod<StartTranslation202Response | StartTranslationDefaultResponse>;\n /**\n * Returns a list of batch requests submitted and the status for each\n * request.\n * This list only contains batch requests submitted by the user (based on\n * the resource).\n *\n * If the number of requests exceeds our paging limit,\n * server-side paging is used. Paginated responses indicate a partial result and\n * include a continuation token in the response.\n * The absence of a continuation\n * token means that no additional pages are available.\n *\n * top, skip\n * and maxpagesize query parameters can be used to specify a number of results to\n * return and an offset for the collection.\n *\n * top indicates the total\n * number of records the user wants to be returned across all pages.\n * skip\n * indicates the number of records to skip from the list of batches based on the\n * sorting method specified. By default, we sort by descending start\n * time.\n * maxpagesize is the maximum items returned in a page. If more items are\n * requested via top (or top is not specified and there are more items to be\n * returned), @nextLink will contain the link to the next page.\n *\n *\n * orderby query parameter can be used to sort the returned list (ex\n * \"orderby=createdDateTimeUtc asc\" or \"orderby=createdDateTimeUtc\n * desc\").\n * The default sorting is descending by createdDateTimeUtc.\n * Some query\n * parameters can be used to filter the returned list (ex:\n * \"status=Succeeded,Cancelled\") will only return succeeded and cancelled\n * operations.\n * createdDateTimeUtcStart and createdDateTimeUtcEnd can be used\n * combined or separately to specify a range of datetime to filter the returned\n * list by.\n * The supported filtering query parameters are (status, ids,\n * createdDateTimeUtcStart, createdDateTimeUtcEnd).\n *\n * The server honors\n * the values specified by the client. However, clients must be prepared to handle\n * responses that contain a different page size or contain a continuation token.\n *\n *\n * When both top and skip are included, the server should first apply\n * skip and then top on the collection.\n * Note: If the server can't honor top\n * and/or skip, the server must return an error to the client informing about it\n * instead of just ignoring the query options.\n * This reduces the risk of the client\n * making assumptions about the data returned.\n */\n get(\n options?: GetTranslationsStatusParameters,\n ): StreamableMethod<GetTranslationsStatus200Response | GetTranslationsStatusDefaultResponse>;\n}\n\nexport interface GetDocumentStatus {\n /**\n * Returns the translation status for a specific document based on the request Id\n * and document Id.\n */\n get(\n options?: GetDocumentStatusParameters,\n ): StreamableMethod<GetDocumentStatus200Response | GetDocumentStatusDefaultResponse>;\n}\n\nexport interface GetTranslationStatus {\n /**\n * Returns the status for a document translation request.\n * The status includes the\n * overall request status, as well as the status for documents that are being\n * translated as part of that request.\n */\n get(\n options?: GetTranslationStatusParameters,\n ): StreamableMethod<GetTranslationStatus200Response | GetTranslationStatusDefaultResponse>;\n /**\n * Cancel a currently processing or queued translation.\n * A translation will not be\n * cancelled if it is already completed or failed or cancelling. A bad request\n * will be returned.\n * All documents that have completed translation will not be\n * cancelled and will be charged.\n * All pending documents will be cancelled if\n * possible.\n */\n delete(\n options?: CancelTranslationParameters,\n ): StreamableMethod<CancelTranslation200Response | CancelTranslationDefaultResponse>;\n}\n\nexport interface GetDocumentsStatus {\n /**\n * Returns the status for all documents in a batch document translation request.\n *\n *\n * If the number of documents in the response exceeds our paging limit,\n * server-side paging is used.\n * Paginated responses indicate a partial result and\n * include a continuation token in the response. The absence of a continuation\n * token means that no additional pages are available.\n *\n * top, skip\n * and maxpagesize query parameters can be used to specify a number of results to\n * return and an offset for the collection.\n *\n * top indicates the total\n * number of records the user wants to be returned across all pages.\n * skip\n * indicates the number of records to skip from the list of document status held\n * by the server based on the sorting method specified. By default, we sort by\n * descending start time.\n * maxpagesize is the maximum items returned in a page.\n * If more items are requested via top (or top is not specified and there are\n * more items to be returned), @nextLink will contain the link to the next page.\n *\n *\n * orderby query parameter can be used to sort the returned list (ex\n * \"orderby=createdDateTimeUtc asc\" or \"orderby=createdDateTimeUtc\n * desc\").\n * The default sorting is descending by createdDateTimeUtc.\n * Some query\n * parameters can be used to filter the returned list (ex:\n * \"status=Succeeded,Cancelled\") will only return succeeded and cancelled\n * documents.\n * createdDateTimeUtcStart and createdDateTimeUtcEnd can be used\n * combined or separately to specify a range of datetime to filter the returned\n * list by.\n * The supported filtering query parameters are (status, ids,\n * createdDateTimeUtcStart, createdDateTimeUtcEnd).\n *\n * When both top\n * and skip are included, the server should first apply skip and then top on\n * the collection.\n * Note: If the server can't honor top and/or skip, the server\n * must return an error to the client informing about it instead of just ignoring\n * the query options.\n * This reduces the risk of the client making assumptions about\n * the data returned.\n */\n get(\n options?: GetDocumentsStatusParameters,\n ): StreamableMethod<GetDocumentsStatus200Response | GetDocumentsStatusDefaultResponse>;\n}\n\nexport interface GetSupportedFormats {\n /**\n * The list of supported formats supported by the Document Translation\n * service.\n * The list includes the common file extension, as well as the\n * content-type if using the upload API.\n */\n get(\n options?: GetSupportedFormatsParameters,\n ): StreamableMethod<GetSupportedFormats200Response | GetSupportedFormatsDefaultResponse>;\n}\n\nexport interface Routes {\n /** Resource for '/document:translate' has methods for the following verbs: post */\n (path: \"/document:translate\"): DocumentTranslate;\n /** Resource for '/document/batches' has methods for the following verbs: post, get */\n (path: \"/document/batches\"): StartTranslation;\n /** Resource for '/document/batches/\\{id\\}/documents/\\{documentId\\}' has methods for the following verbs: get */\n (\n path: \"/document/batches/{id}/documents/{documentId}\",\n id: string,\n documentId: string,\n ): GetDocumentStatus;\n /** Resource for '/document/batches/\\{id\\}' has methods for the following verbs: get, delete */\n (path: \"/document/batches/{id}\", id: string): GetTranslationStatus;\n /** Resource for '/document/batches/\\{id\\}/documents' has methods for the following verbs: get */\n (path: \"/document/batches/{id}/documents\", id: string): GetDocumentsStatus;\n /** Resource for '/document/formats' has methods for the following verbs: get */\n (path: \"/document/formats\"): GetSupportedFormats;\n}\n\nexport type DocumentTranslationClient = Client & {\n path: Routes;\n};\n"]}
@@ -1,5 +1,6 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT license.
2
+ // Licensed under the MIT License.
3
+ import { __rest } from "tslib";
3
4
  import { getClient } from "@azure-rest/core-client";
4
5
  import { logger } from "./logger";
5
6
  /**
@@ -8,11 +9,11 @@ import { logger } from "./logger";
8
9
  * @param credentials - uniquely identify client credential
9
10
  * @param options - the parameter for all optional parameters
10
11
  */
11
- export default function createClient(endpointParam, credentials, options = {}) {
12
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
13
- const endpointUrl = (_b = (_a = options.endpoint) !== null && _a !== void 0 ? _a : options.baseUrl) !== null && _b !== void 0 ? _b : `${endpointParam}/translator`;
14
- options.apiVersion = (_c = options.apiVersion) !== null && _c !== void 0 ? _c : "2024-05-01";
15
- const userAgentInfo = `azsdk-js-ai-translation-document-rest/1.0.0-beta.2`;
12
+ export default function createClient(endpointParam, credentials, _a = {}) {
13
+ var _b, _c, _d, _e, _f, _g, _h, _j;
14
+ var { apiVersion = "2024-05-01" } = _a, options = __rest(_a, ["apiVersion"]);
15
+ const endpointUrl = (_c = (_b = options.endpoint) !== null && _b !== void 0 ? _b : options.baseUrl) !== null && _c !== void 0 ? _c : `${endpointParam}/translator`;
16
+ const userAgentInfo = `azsdk-js-ai-translation-document-rest/1.0.0-beta.1`;
16
17
  const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix
17
18
  ? `${options.userAgentOptions.userAgentPrefix} ${userAgentInfo}`
18
19
  : `${userAgentInfo}`;
@@ -25,6 +26,19 @@ export default function createClient(endpointParam, credentials, options = {}) {
25
26
  apiKeyHeaderName: (_j = (_h = options.credentials) === null || _h === void 0 ? void 0 : _h.apiKeyHeaderName) !== null && _j !== void 0 ? _j : "Ocp-Apim-Subscription-Key",
26
27
  } });
27
28
  const client = getClient(endpointUrl, credentials, options);
29
+ client.pipeline.removePolicy({ name: "ApiVersionPolicy" });
30
+ client.pipeline.addPolicy({
31
+ name: "ClientApiVersionPolicy",
32
+ sendRequest: (req, next) => {
33
+ // Use the apiVersion defined in request url directly
34
+ // Append one if there is no apiVersion and we have one at client options
35
+ const url = new URL(req.url);
36
+ if (!url.searchParams.get("api-version") && apiVersion) {
37
+ req.url = `${req.url}${Array.from(url.searchParams.keys()).length > 0 ? "&" : "?"}api-version=${apiVersion}`;
38
+ }
39
+ return next(req);
40
+ },
41
+ });
28
42
  return client;
29
43
  }
30
44
  //# sourceMappingURL=documentTranslationClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"documentTranslationClient.js","sourceRoot":"","sources":["../../src/documentTranslationClient.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,SAAS,EAAiB,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAIlC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,aAAqB,EACrB,WAA4C,EAC5C,UAAyB,EAAE;;IAE3B,MAAM,WAAW,GAAG,MAAA,MAAA,OAAO,CAAC,QAAQ,mCAAI,OAAO,CAAC,OAAO,mCAAI,GAAG,aAAa,aAAa,CAAC;IACzF,OAAO,CAAC,UAAU,GAAG,MAAA,OAAO,CAAC,UAAU,mCAAI,YAAY,CAAC;IACxD,MAAM,aAAa,GAAG,oDAAoD,CAAC;IAC3E,MAAM,eAAe,GACnB,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,CAAC,eAAe;QAClE,CAAC,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,eAAe,IAAI,aAAa,EAAE;QAChE,CAAC,CAAC,GAAG,aAAa,EAAE,CAAC;IACzB,OAAO,mCACF,OAAO,KACV,gBAAgB,EAAE;YAChB,eAAe;SAChB,EACD,cAAc,EAAE;YACd,MAAM,EAAE,MAAA,MAAA,OAAO,CAAC,cAAc,0CAAE,MAAM,mCAAI,MAAM,CAAC,IAAI;SACtD,EACD,WAAW,EAAE;YACX,MAAM,EAAE,MAAA,MAAA,OAAO,CAAC,WAAW,0CAAE,MAAM,mCAAI,CAAC,8CAA8C,CAAC;YACvF,gBAAgB,EAAE,MAAA,MAAA,OAAO,CAAC,WAAW,0CAAE,gBAAgB,mCAAI,2BAA2B;SACvF,GACF,CAAC;IAEF,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAA8B,CAAC;IAEzF,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { getClient, ClientOptions } from \"@azure-rest/core-client\";\nimport { logger } from \"./logger\";\nimport { TokenCredential, KeyCredential } from \"@azure/core-auth\";\nimport { DocumentTranslationClient } from \"./clientDefinitions\";\n\n/**\n * Initialize a new instance of `DocumentTranslationClient`\n * @param endpointParam - Supported document Translation endpoint, protocol and hostname, for example: https://{TranslatorResourceName}.cognitiveservices.azure.com/translator.\n * @param credentials - uniquely identify client credential\n * @param options - the parameter for all optional parameters\n */\nexport default function createClient(\n endpointParam: string,\n credentials: TokenCredential | KeyCredential,\n options: ClientOptions = {},\n): DocumentTranslationClient {\n const endpointUrl = options.endpoint ?? options.baseUrl ?? `${endpointParam}/translator`;\n options.apiVersion = options.apiVersion ?? \"2024-05-01\";\n const userAgentInfo = `azsdk-js-ai-translation-document-rest/1.0.0-beta.2`;\n const userAgentPrefix =\n options.userAgentOptions && options.userAgentOptions.userAgentPrefix\n ? `${options.userAgentOptions.userAgentPrefix} ${userAgentInfo}`\n : `${userAgentInfo}`;\n options = {\n ...options,\n userAgentOptions: {\n userAgentPrefix,\n },\n loggingOptions: {\n logger: options.loggingOptions?.logger ?? logger.info,\n },\n credentials: {\n scopes: options.credentials?.scopes ?? [\"https://cognitiveservices.azure.com/.default\"],\n apiKeyHeaderName: options.credentials?.apiKeyHeaderName ?? \"Ocp-Apim-Subscription-Key\",\n },\n };\n\n const client = getClient(endpointUrl, credentials, options) as DocumentTranslationClient;\n\n return client;\n}\n"]}
1
+ {"version":3,"file":"documentTranslationClient.js","sourceRoot":"","sources":["../../src/documentTranslationClient.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;;AAMlC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAUlC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,aAAqB,EACrB,WAA4C,EAC5C,KAA8E,EAAE;;QAAhF,EAAE,UAAU,GAAG,YAAY,OAAqD,EAAhD,OAAO,cAAvC,cAAyC,CAAF;IAEvC,MAAM,WAAW,GAAG,MAAA,MAAA,OAAO,CAAC,QAAQ,mCAAI,OAAO,CAAC,OAAO,mCAAI,GAAG,aAAa,aAAa,CAAC;IACzF,MAAM,aAAa,GAAG,oDAAoD,CAAC;IAC3E,MAAM,eAAe,GACnB,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,CAAC,eAAe;QAClE,CAAC,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,eAAe,IAAI,aAAa,EAAE;QAChE,CAAC,CAAC,GAAG,aAAa,EAAE,CAAC;IACzB,OAAO,mCACF,OAAO,KACV,gBAAgB,EAAE;YAChB,eAAe;SAChB,EACD,cAAc,EAAE;YACd,MAAM,EAAE,MAAA,MAAA,OAAO,CAAC,cAAc,0CAAE,MAAM,mCAAI,MAAM,CAAC,IAAI;SACtD,EACD,WAAW,EAAE;YACX,MAAM,EAAE,MAAA,MAAA,OAAO,CAAC,WAAW,0CAAE,MAAM,mCAAI,CAAC,8CAA8C,CAAC;YACvF,gBAAgB,EAAE,MAAA,MAAA,OAAO,CAAC,WAAW,0CAAE,gBAAgB,mCAAI,2BAA2B;SACvF,GACF,CAAC;IACF,MAAM,MAAM,GAAG,SAAS,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAA8B,CAAC;IAEzF,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC3D,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;QACxB,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YACzB,qDAAqD;YACrD,yEAAyE;YACzE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,UAAU,EAAE,CAAC;gBACvD,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,GAClB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GACzD,eAAe,UAAU,EAAE,CAAC;YAC9B,CAAC;YAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;KACF,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport type { ClientOptions } from \"@azure-rest/core-client\";\nimport { getClient } from \"@azure-rest/core-client\";\nimport { logger } from \"./logger\";\nimport type { TokenCredential, KeyCredential } from \"@azure/core-auth\";\nimport type { DocumentTranslationClient } from \"./clientDefinitions\";\n\n/** The optional parameters for the client */\nexport interface DocumentTranslationClientOptions extends ClientOptions {\n /** The api version option of the client */\n apiVersion?: string;\n}\n\n/**\n * Initialize a new instance of `DocumentTranslationClient`\n * @param endpointParam - Supported document Translation endpoint, protocol and hostname, for example: https://{TranslatorResourceName}.cognitiveservices.azure.com/translator.\n * @param credentials - uniquely identify client credential\n * @param options - the parameter for all optional parameters\n */\nexport default function createClient(\n endpointParam: string,\n credentials: TokenCredential | KeyCredential,\n { apiVersion = \"2024-05-01\", ...options }: DocumentTranslationClientOptions = {},\n): DocumentTranslationClient {\n const endpointUrl = options.endpoint ?? options.baseUrl ?? `${endpointParam}/translator`;\n const userAgentInfo = `azsdk-js-ai-translation-document-rest/1.0.0-beta.1`;\n const userAgentPrefix =\n options.userAgentOptions && options.userAgentOptions.userAgentPrefix\n ? `${options.userAgentOptions.userAgentPrefix} ${userAgentInfo}`\n : `${userAgentInfo}`;\n options = {\n ...options,\n userAgentOptions: {\n userAgentPrefix,\n },\n loggingOptions: {\n logger: options.loggingOptions?.logger ?? logger.info,\n },\n credentials: {\n scopes: options.credentials?.scopes ?? [\"https://cognitiveservices.azure.com/.default\"],\n apiKeyHeaderName: options.credentials?.apiKeyHeaderName ?? \"Ocp-Apim-Subscription-Key\",\n },\n };\n const client = getClient(endpointUrl, credentials, options) as DocumentTranslationClient;\n\n client.pipeline.removePolicy({ name: \"ApiVersionPolicy\" });\n client.pipeline.addPolicy({\n name: \"ClientApiVersionPolicy\",\n sendRequest: (req, next) => {\n // Use the apiVersion defined in request url directly\n // Append one if there is no apiVersion and we have one at client options\n const url = new URL(req.url);\n if (!url.searchParams.get(\"api-version\") && apiVersion) {\n req.url = `${req.url}${\n Array.from(url.searchParams.keys()).length > 0 ? \"&\" : \"?\"\n }api-version=${apiVersion}`;\n }\n\n return next(req);\n },\n });\n\n return client;\n}\n"]}
@@ -1,4 +1,6 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ // Copyright (c) Microsoft Corporation.
2
4
  // Licensed under the MIT license.
3
5
  import DocumentTranslationClient from "./documentTranslationClient";
4
6
  export * from "./documentTranslationClient";
@@ -10,6 +12,5 @@ export * from "./models";
10
12
  export * from "./outputModels";
11
13
  export * from "./paginateHelper";
12
14
  export * from "./pollingHelper";
13
- export { createFile, createFileFromStream, } from "@azure/core-rest-pipeline";
14
15
  export default DocumentTranslationClient;
15
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AAEpE,cAAc,6BAA6B,CAAC;AAC5C,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EACL,UAAU,EACV,oBAAoB,GAGrB,MAAM,2BAA2B,CAAC;AAEnC,eAAe,yBAAyB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport DocumentTranslationClient from \"./documentTranslationClient\";\n\nexport * from \"./documentTranslationClient\";\nexport * from \"./parameters\";\nexport * from \"./responses\";\nexport * from \"./clientDefinitions\";\nexport * from \"./isUnexpected\";\nexport * from \"./models\";\nexport * from \"./outputModels\";\nexport * from \"./paginateHelper\";\nexport * from \"./pollingHelper\";\nexport {\n createFile,\n createFileFromStream,\n type CreateFileOptions,\n type CreateFileFromStreamOptions,\n} from \"@azure/core-rest-pipeline\";\n\nexport default DocumentTranslationClient;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AAEpE,cAAc,6BAA6B,CAAC;AAC5C,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAEhC,eAAe,yBAAyB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport DocumentTranslationClient from \"./documentTranslationClient\";\n\nexport * from \"./documentTranslationClient\";\nexport * from \"./parameters\";\nexport * from \"./responses\";\nexport * from \"./clientDefinitions\";\nexport * from \"./isUnexpected\";\nexport * from \"./models\";\nexport * from \"./outputModels\";\nexport * from \"./paginateHelper\";\nexport * from \"./pollingHelper\";\n\nexport default DocumentTranslationClient;\n"]}
@@ -1,5 +1,5 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT license.
2
+ // Licensed under the MIT License.
3
3
  const responseMap = {
4
4
  "POST /document:translate": ["200"],
5
5
  "GET /document/batches": ["200"],
@@ -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 {\n DocumentTranslate200Response,\n DocumentTranslateDefaultResponse,\n StartTranslation202Response,\n StartTranslationLogicalResponse,\n StartTranslationDefaultResponse,\n GetTranslationsStatus200Response,\n GetTranslationsStatusDefaultResponse,\n GetDocumentStatus200Response,\n GetDocumentStatusDefaultResponse,\n GetTranslationStatus200Response,\n GetTranslationStatusDefaultResponse,\n CancelTranslation200Response,\n CancelTranslationDefaultResponse,\n GetDocumentsStatus200Response,\n GetDocumentsStatusDefaultResponse,\n GetSupportedFormats200Response,\n GetSupportedFormatsDefaultResponse,\n} from \"./responses.js\";\n\nconst responseMap: Record<string, string[]> = {\n \"POST /document:translate\": [\"200\"],\n \"GET /document/batches\": [\"200\"],\n \"POST /document/batches\": [\"202\"],\n \"GET /document/batches/{id}/documents/{documentId}\": [\"200\"],\n \"GET /document/batches/{id}\": [\"200\"],\n \"DELETE /document/batches/{id}\": [\"200\"],\n \"GET /document/batches/{id}/documents\": [\"200\"],\n \"GET /document/formats\": [\"200\"],\n};\n\nexport function isUnexpected(\n response: DocumentTranslate200Response | DocumentTranslateDefaultResponse,\n): response is DocumentTranslateDefaultResponse;\nexport function isUnexpected(\n response:\n | StartTranslation202Response\n | StartTranslationLogicalResponse\n | StartTranslationDefaultResponse,\n): response is StartTranslationDefaultResponse;\nexport function isUnexpected(\n response: GetTranslationsStatus200Response | GetTranslationsStatusDefaultResponse,\n): response is GetTranslationsStatusDefaultResponse;\nexport function isUnexpected(\n response: GetDocumentStatus200Response | GetDocumentStatusDefaultResponse,\n): response is GetDocumentStatusDefaultResponse;\nexport function isUnexpected(\n response: GetTranslationStatus200Response | GetTranslationStatusDefaultResponse,\n): response is GetTranslationStatusDefaultResponse;\nexport function isUnexpected(\n response: CancelTranslation200Response | CancelTranslationDefaultResponse,\n): response is CancelTranslationDefaultResponse;\nexport function isUnexpected(\n response: GetDocumentsStatus200Response | GetDocumentsStatusDefaultResponse,\n): response is GetDocumentsStatusDefaultResponse;\nexport function isUnexpected(\n response: GetSupportedFormats200Response | GetSupportedFormatsDefaultResponse,\n): response is GetSupportedFormatsDefaultResponse;\nexport function isUnexpected(\n response:\n | DocumentTranslate200Response\n | DocumentTranslateDefaultResponse\n | StartTranslation202Response\n | StartTranslationLogicalResponse\n | StartTranslationDefaultResponse\n | GetTranslationsStatus200Response\n | GetTranslationsStatusDefaultResponse\n | GetDocumentStatus200Response\n | GetDocumentStatusDefaultResponse\n | GetTranslationStatus200Response\n | GetTranslationStatusDefaultResponse\n | CancelTranslation200Response\n | CancelTranslationDefaultResponse\n | GetDocumentsStatus200Response\n | GetDocumentsStatusDefaultResponse\n | GetSupportedFormats200Response\n | GetSupportedFormatsDefaultResponse,\n): response is\n | DocumentTranslateDefaultResponse\n | StartTranslationDefaultResponse\n | GetTranslationsStatusDefaultResponse\n | GetDocumentStatusDefaultResponse\n | GetTranslationStatusDefaultResponse\n | CancelTranslationDefaultResponse\n | GetDocumentsStatusDefaultResponse\n | GetSupportedFormatsDefaultResponse {\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\n// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport type {\n DocumentTranslate200Response,\n DocumentTranslateDefaultResponse,\n StartTranslation202Response,\n StartTranslationLogicalResponse,\n StartTranslationDefaultResponse,\n GetTranslationsStatus200Response,\n GetTranslationsStatusDefaultResponse,\n GetDocumentStatus200Response,\n GetDocumentStatusDefaultResponse,\n GetTranslationStatus200Response,\n GetTranslationStatusDefaultResponse,\n CancelTranslation200Response,\n CancelTranslationDefaultResponse,\n GetDocumentsStatus200Response,\n GetDocumentsStatusDefaultResponse,\n GetSupportedFormats200Response,\n GetSupportedFormatsDefaultResponse,\n} from \"./responses.js\";\n\nconst responseMap: Record<string, string[]> = {\n \"POST /document:translate\": [\"200\"],\n \"GET /document/batches\": [\"200\"],\n \"POST /document/batches\": [\"202\"],\n \"GET /document/batches/{id}/documents/{documentId}\": [\"200\"],\n \"GET /document/batches/{id}\": [\"200\"],\n \"DELETE /document/batches/{id}\": [\"200\"],\n \"GET /document/batches/{id}/documents\": [\"200\"],\n \"GET /document/formats\": [\"200\"],\n};\n\nexport function isUnexpected(\n response: DocumentTranslate200Response | DocumentTranslateDefaultResponse,\n): response is DocumentTranslateDefaultResponse;\nexport function isUnexpected(\n response:\n | StartTranslation202Response\n | StartTranslationLogicalResponse\n | StartTranslationDefaultResponse,\n): response is StartTranslationDefaultResponse;\nexport function isUnexpected(\n response: GetTranslationsStatus200Response | GetTranslationsStatusDefaultResponse,\n): response is GetTranslationsStatusDefaultResponse;\nexport function isUnexpected(\n response: GetDocumentStatus200Response | GetDocumentStatusDefaultResponse,\n): response is GetDocumentStatusDefaultResponse;\nexport function isUnexpected(\n response: GetTranslationStatus200Response | GetTranslationStatusDefaultResponse,\n): response is GetTranslationStatusDefaultResponse;\nexport function isUnexpected(\n response: CancelTranslation200Response | CancelTranslationDefaultResponse,\n): response is CancelTranslationDefaultResponse;\nexport function isUnexpected(\n response: GetDocumentsStatus200Response | GetDocumentsStatusDefaultResponse,\n): response is GetDocumentsStatusDefaultResponse;\nexport function isUnexpected(\n response: GetSupportedFormats200Response | GetSupportedFormatsDefaultResponse,\n): response is GetSupportedFormatsDefaultResponse;\nexport function isUnexpected(\n response:\n | DocumentTranslate200Response\n | DocumentTranslateDefaultResponse\n | StartTranslation202Response\n | StartTranslationLogicalResponse\n | StartTranslationDefaultResponse\n | GetTranslationsStatus200Response\n | GetTranslationsStatusDefaultResponse\n | GetDocumentStatus200Response\n | GetDocumentStatusDefaultResponse\n | GetTranslationStatus200Response\n | GetTranslationStatusDefaultResponse\n | CancelTranslation200Response\n | CancelTranslationDefaultResponse\n | GetDocumentsStatus200Response\n | GetDocumentsStatusDefaultResponse\n | GetSupportedFormats200Response\n | GetSupportedFormatsDefaultResponse,\n): response is\n | DocumentTranslateDefaultResponse\n | StartTranslationDefaultResponse\n | GetTranslationsStatusDefaultResponse\n | GetDocumentStatusDefaultResponse\n | GetTranslationStatusDefaultResponse\n | CancelTranslationDefaultResponse\n | GetDocumentsStatusDefaultResponse\n | GetSupportedFormatsDefaultResponse {\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,4 +1,6 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
+ // Licensed under the MIT License.
3
+ // Copyright (c) Microsoft Corporation.
2
4
  // Licensed under the MIT license.
3
5
  import { createClientLogger } from "@azure/logger";
4
6
  export const logger = createClientLogger("ai-translation-document");
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,MAAM,CAAC,MAAM,MAAM,GAAG,kBAAkB,CAAC,yBAAyB,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { createClientLogger } from \"@azure/logger\";\nexport const logger = createClientLogger(\"ai-translation-document\");\n"]}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,MAAM,CAAC,MAAM,MAAM,GAAG,kBAAkB,CAAC,yBAAyB,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { createClientLogger } from \"@azure/logger\";\nexport const logger = createClientLogger(\"ai-translation-document\");\n"]}
@@ -1,4 +1,4 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT license.
2
+ // Licensed under the MIT License.
3
3
  export {};
4
4
  //# sourceMappingURL=models.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/models.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nexport interface DocumentTranslateContentDocumentPartDescriptor {\n name: \"document\";\n body: string | Uint8Array | ReadableStream<Uint8Array> | NodeJS.ReadableStream | File;\n filename?: string;\n contentType?: string;\n}\n\nexport interface DocumentTranslateContentGlossaryPartDescriptor {\n name: \"glossary\";\n body: string | Uint8Array | ReadableStream<Uint8Array> | NodeJS.ReadableStream | File;\n filename?: string;\n contentType?: string;\n}\n\n/** Translation job submission batch request */\nexport interface StartTranslationDetails {\n /** The input list of documents or folders containing documents */\n inputs: Array<BatchRequest>;\n}\n\n/** Definition for the input batch translation request */\nexport interface BatchRequest {\n /** Source of the input documents */\n source: SourceInput;\n /** Location of the destination for the output */\n targets: Array<TargetInput>;\n /** Storage type of the input documents source string */\n storageType?: StorageInputType;\n}\n\n/** Source of the input documents */\nexport interface SourceInput {\n /** Location of the folder / container or single file with your documents */\n sourceUrl: string;\n /** Document filter */\n filter?: DocumentFilter;\n /**\n * Language code\n * If none is specified, we will perform auto detect on the document\n */\n language?: string;\n /** Storage Source */\n storageSource?: StorageSource;\n}\n\n/** Document filter */\nexport interface DocumentFilter {\n /**\n * A case-sensitive prefix string to filter documents in the source path for\n * translation.\n * For example, when using a Azure storage blob Uri, use the prefix\n * to restrict sub folders for translation.\n */\n prefix?: string;\n /**\n * A case-sensitive suffix string to filter documents in the source path for\n * translation.\n * This is most often use for file extensions\n */\n suffix?: string;\n}\n\n/** Destination for the finished translated documents */\nexport interface TargetInput {\n /** Location of the folder / container with your documents */\n targetUrl: string;\n /** Category / custom system for translation request */\n category?: string;\n /** Target Language */\n language: string;\n /** List of Glossary */\n glossaries?: Array<Glossary>;\n /** Storage Source */\n storageSource?: StorageSource;\n}\n\n/** Glossary / translation memory for the request */\nexport interface Glossary {\n /**\n * Location of the glossary.\n * We will use the file extension to extract the\n * formatting if the format parameter is not supplied.\n *\n * If the translation\n * language pair is not present in the glossary, it will not be applied\n */\n glossaryUrl: string;\n /** Format */\n format: string;\n /** Optional Version. If not specified, default is used. */\n version?: string;\n /** Storage Source */\n storageSource?: StorageSource;\n}\n\n/** Document Translate Request Content */\nexport type DocumentTranslateContent =\n | FormData\n | Array<\n | DocumentTranslateContentDocumentPartDescriptor\n | DocumentTranslateContentGlossaryPartDescriptor\n >;\n/** Alias for StorageSource */\nexport type StorageSource = \"AzureBlob\" | string;\n/** Alias for StorageInputType */\nexport type StorageInputType = \"Folder\" | \"File\" | string;\n/** Alias for FileFormatType */\nexport type FileFormatType = \"document\" | \"glossary\" | string;\n"]}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/models.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nexport interface DocumentTranslateContentDocumentPartDescriptor {\n name: \"document\";\n body: string | Uint8Array | ReadableStream<Uint8Array> | NodeJS.ReadableStream | File;\n filename?: string;\n contentType?: string;\n}\n\nexport interface DocumentTranslateContentGlossaryPartDescriptor {\n name: \"glossary\";\n body: string | Uint8Array | ReadableStream<Uint8Array> | NodeJS.ReadableStream | File;\n filename?: string;\n contentType?: string;\n}\n\n/** Translation job submission batch request */\nexport interface StartTranslationDetails {\n /** The input list of documents or folders containing documents */\n inputs: Array<BatchRequest>;\n}\n\n/** Definition for the input batch translation request */\nexport interface BatchRequest {\n /** Source of the input documents */\n source: SourceInput;\n /** Location of the destination for the output */\n targets: Array<TargetInput>;\n /**\n * Storage type of the input documents source string\n *\n * Possible values: \"Folder\", \"File\"\n */\n storageType?: StorageInputType;\n}\n\n/** Source of the input documents */\nexport interface SourceInput {\n /** Location of the folder / container or single file with your documents */\n sourceUrl: string;\n /** Document filter */\n filter?: DocumentFilter;\n /**\n * Language code\n * If none is specified, we will perform auto detect on the document\n */\n language?: string;\n /**\n * Storage Source\n *\n * Possible values: \"AzureBlob\"\n */\n storageSource?: StorageSource;\n}\n\n/** Document filter */\nexport interface DocumentFilter {\n /**\n * A case-sensitive prefix string to filter documents in the source path for\n * translation.\n * For example, when using a Azure storage blob Uri, use the prefix\n * to restrict sub folders for translation.\n */\n prefix?: string;\n /**\n * A case-sensitive suffix string to filter documents in the source path for\n * translation.\n * This is most often use for file extensions\n */\n suffix?: string;\n}\n\n/** Destination for the finished translated documents */\nexport interface TargetInput {\n /** Location of the folder / container with your documents */\n targetUrl: string;\n /** Category / custom system for translation request */\n category?: string;\n /** Target Language */\n language: string;\n /** List of Glossary */\n glossaries?: Array<Glossary>;\n /**\n * Storage Source\n *\n * Possible values: \"AzureBlob\"\n */\n storageSource?: StorageSource;\n}\n\n/** Glossary / translation memory for the request */\nexport interface Glossary {\n /**\n * Location of the glossary.\n * We will use the file extension to extract the\n * formatting if the format parameter is not supplied.\n *\n * If the translation\n * language pair is not present in the glossary, it will not be applied\n */\n glossaryUrl: string;\n /** Format */\n format: string;\n /** Optional Version. If not specified, default is used. */\n version?: string;\n /**\n * Storage Source\n *\n * Possible values: \"AzureBlob\"\n */\n storageSource?: StorageSource;\n}\n\n/** Document Translate Request Content */\nexport type DocumentTranslateContent =\n | FormData\n | Array<\n | DocumentTranslateContentDocumentPartDescriptor\n | DocumentTranslateContentGlossaryPartDescriptor\n >;\n/** Alias for StorageSource */\nexport type StorageSource = string;\n/** Alias for StorageInputType */\nexport type StorageInputType = string;\n/** Alias for FileFormatType */\nexport type FileFormatType = string;\n"]}
@@ -1,4 +1,4 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT license.
2
+ // Licensed under the MIT License.
3
3
  export {};
4
4
  //# sourceMappingURL=outputModels.js.map