UNPKG

@azure-rest/ai-translation-text

Version:

An isomorphic client library for the Azure Cognitive Translator Service

41 lines 2.12 kB
// Copyright (c) Microsoft Corporation. // Licensed under the MIT License. import { __rest } from "tslib"; import { getClient } from "@azure-rest/core-client"; import { logger } from "./logger.js"; /** * Initialize a new instance of `TextTranslationClient` * @param endpointParam - Supported Text Translation endpoints (protocol and hostname, for example: * https://api.cognitive.microsofttranslator.com). * @param options - the parameter for all optional parameters */ export default function createClient(endpointParam, _a = {}) { var _b, _c, _d, _e; var { apiVersion = "3.0" } = _a, options = __rest(_a, ["apiVersion"]); const endpointUrl = (_c = (_b = options.endpoint) !== null && _b !== void 0 ? _b : options.baseUrl) !== null && _c !== void 0 ? _c : `${endpointParam}`; const userAgentInfo = `azsdk-js-ai-translation-text-rest/1.0.0-beta.1`; const userAgentPrefix = options.userAgentOptions && options.userAgentOptions.userAgentPrefix ? `${options.userAgentOptions.userAgentPrefix} ${userAgentInfo}` : `${userAgentInfo}`; options = Object.assign(Object.assign({}, options), { userAgentOptions: { userAgentPrefix, }, loggingOptions: { logger: (_e = (_d = options.loggingOptions) === null || _d === void 0 ? void 0 : _d.logger) !== null && _e !== void 0 ? _e : logger.info, } }); const client = getClient(endpointUrl, options); client.pipeline.removePolicy({ name: "ApiVersionPolicy" }); client.pipeline.addPolicy({ name: "ClientApiVersionPolicy", sendRequest: (req, next) => { // Use the apiVersion defined in request url directly // Append one if there is no apiVersion and we have one at client options const url = new URL(req.url); if (!url.searchParams.get("api-version") && apiVersion) { req.url = `${req.url}${Array.from(url.searchParams.keys()).length > 0 ? "&" : "?"}api-version=${apiVersion}`; } return next(req); }, }); return client; } //# sourceMappingURL=textTranslationClient.js.map