UNPKG

deepl-node

Version:

deepl-node is the official DeepL Node.js client library

57 lines (56 loc) 2.49 kB
"use strict"; // Copyright 2025 DeepL SE (https://www.deepl.com) // Use of this source code is governed by an MIT // license that can be found in the LICENSE file. Object.defineProperty(exports, "__esModule", { value: true }); exports.DeepLClient = exports.WritingTone = exports.WritingStyle = void 0; const translator_1 = require("./translator"); const parsing_1 = require("./parsing"); const utils_1 = require("./utils"); var WritingStyle; (function (WritingStyle) { WritingStyle["ACADEMIC"] = "academic"; WritingStyle["BUSINESS"] = "business"; WritingStyle["CASUAL"] = "casual"; WritingStyle["DEFAULT"] = "default"; WritingStyle["PREFER_ACADEMIC"] = "prefer_academic"; WritingStyle["PREFER_BUSINESS"] = "prefer_business"; WritingStyle["PREFER_CASUAL"] = "prefer_casual"; WritingStyle["PREFER_SIMPLE"] = "prefer_simple"; WritingStyle["SIMPLE"] = "simple"; })(WritingStyle = exports.WritingStyle || (exports.WritingStyle = {})); var WritingTone; (function (WritingTone) { WritingTone["CONFIDENT"] = "confident"; WritingTone["DEFAULT"] = "default"; WritingTone["DIPLOMATIC"] = "diplomatic"; WritingTone["ENTHUSIASTIC"] = "enthusiastic"; WritingTone["FRIENDLY"] = "friendly"; WritingTone["PREFER_CONFIDENT"] = "prefer_confident"; WritingTone["PREFER_DIPLOMATIC"] = "prefer_diplomatic"; WritingTone["PREFER_ENTHUSIASTIC"] = "prefer_enthusiastic"; WritingTone["PREFER_FRIENDLY"] = "prefer_friendly"; })(WritingTone = exports.WritingTone || (exports.WritingTone = {})); class DeepLClient extends translator_1.Translator { constructor(authKey, options = {}) { super(authKey, options); } async rephraseText(texts, targetLang, writingStyle, tone) { const data = new URLSearchParams(); if (targetLang) { data.append('target_lang', targetLang); } if (writingStyle) { data.append('writing_style', writingStyle); } if (tone) { data.append('tone', tone); } const singular = (0, utils_1.appendTextsAndReturnIsSingular)(data, texts); const { statusCode, content } = await this.httpClient.sendRequestWithBackoff('POST', '/v2/write/rephrase', { data }); await (0, translator_1.checkStatusCode)(statusCode, content); const writeResults = (0, parsing_1.parseWriteResultArray)(content); return (singular ? writeResults[0] : writeResults); } } exports.DeepLClient = DeepLClient;