UNPKG

anylang

Version:

A translator's kit that uses the free APIs of Google Translate, Yandex, Bing, ChatGPT, and other LLMs

63 lines (61 loc) 6.82 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BaseTranslator = void 0; var _basicFetcher = require("../utils/fetcher/basicFetcher"); var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; // TODO: remove it and provide utils to implement translators /** * Basic abstract class for translator */ class BaseTranslator { constructor(options) { this.options = {}; this.fetch = (url, options) => __awaiter(this, void 0, void 0, function* () { var _a; const fetcher = (_a = this.options.fetcher) !== null && _a !== void 0 ? _a : _basicFetcher.basicFetcher; return fetcher(url, options); }); if (options !== undefined) { this.options = options; } } checkLimitExceeding(text) { const plainText = Array.isArray(text) ? text.join('') : text; const extra = plainText.length - this.getLengthLimit(); return extra > 0 ? extra : 0; } } exports.BaseTranslator = BaseTranslator; BaseTranslator.translatorName = 'UnknownTranslator'; BaseTranslator.isRequiredKey = () => false; BaseTranslator.isSupportedAutoFrom = () => false; BaseTranslator.getSupportedLanguages = () => []; //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRvcnMvQmFzZVRyYW5zbGF0b3IuanMiLCJuYW1lcyI6WyJfYmFzaWNGZXRjaGVyIiwicmVxdWlyZSIsIkJhc2VUcmFuc2xhdG9yIiwiY29uc3RydWN0b3IiLCJvcHRpb25zIiwiZmV0Y2giLCJ1cmwiLCJfX2F3YWl0ZXIiLCJmZXRjaGVyIiwiX2EiLCJiYXNpY0ZldGNoZXIiLCJ1bmRlZmluZWQiLCJjaGVja0xpbWl0RXhjZWVkaW5nIiwidGV4dCIsInBsYWluVGV4dCIsIkFycmF5IiwiaXNBcnJheSIsImpvaW4iLCJleHRyYSIsImxlbmd0aCIsImdldExlbmd0aExpbWl0IiwidHJhbnNsYXRvck5hbWUiLCJpc1JlcXVpcmVkS2V5IiwiaXNTdXBwb3J0ZWRBdXRvRnJvbSIsImdldFN1cHBvcnRlZExhbmd1YWdlcyJdLCJzb3VyY2VzIjpbInRyYW5zbGF0b3JzL0Jhc2VUcmFuc2xhdG9yLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJhc2ljRmV0Y2hlciB9IGZyb20gJy4uL3V0aWxzL2ZldGNoZXIvYmFzaWNGZXRjaGVyJztcbmltcG9ydCB7IEZldGNoZXIsIEZldGNoZXJPcHRpb25zLCBGZXRjaGVyUmVxdWVzdFR5cGUgfSBmcm9tICcuLi91dGlscy9mZXRjaGVyL3R5cGVzJztcbmltcG9ydCB7IFRyYW5zbGF0b3JJbnN0YW5jZU1lbWJlcnMgfSBmcm9tICcuL1RyYW5zbGF0b3InO1xuXG5leHBvcnQgdHlwZSBUcmFuc2xhdG9yT3B0aW9uczxPIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fT4gPSBPICYge1xuXHQvKipcblx0ICogQVBJIGVuZHBvaW50IFVSTFxuXHQgKi9cblx0YXBpSG9zdD86IHN0cmluZztcblxuXHQvKipcblx0ICogQWNjZXNzIGtleSBmb3IgcmVxdWVzdHMgdG8gdHJhbnNsYXRvciBBUElcblx0ICovXG5cdGFwaUtleT86IHN0cmluZztcblxuXHQvKipcblx0ICogVW5pb24gdGV4dCBhcnJheSB0byAxIHJlcXVlc3QgKG9yIG1vcmUsIGJ1dCBsZXNzIHRoYW4gdXN1YWx5IGFueXdheSkuXG5cdCAqXG5cdCAqIE9wdGlvbiBmb3IgcmVkdWNlIHRoZSBudW1iZXIgb2YgcmVxdWVzdHMsIGJ1dCBpdCBjYW4gbWFrZSBhcnRlZmFjdHMgaW4gdHJhbnNsYXRlZCB0ZXh0LlxuXHQgKlxuXHQgKiBTb21lIG1vZHVsZXMgbWF5IG5vdCBzdXBwb3J0IHRoaXMgZmVhdHVyZS5cblx0ICovXG5cdHVzZU11bHRpcGxleGluZz86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIEFkZGl0aW9uYWwgaGVhZGVycyBmb3IgcmVxdWVzdHNcblx0ICovXG5cdGhlYWRlcnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG5cdC8qKlxuXHQgKiBDdXN0b20gZmV0Y2hlclxuXHQgKi9cblx0ZmV0Y2hlcj86IEZldGNoZXI7XG59O1xuXG4vLyBUT0RPOiByZW1vdmUgaXQgYW5kIHByb3ZpZGUgdXRpbHMgdG8gaW1wbGVtZW50IHRyYW5zbGF0b3JzXG4vKipcbiAqIEJhc2ljIGFic3RyYWN0IGNsYXNzIGZvciB0cmFuc2xhdG9yXG4gKi9cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VUcmFuc2xhdG9yPEMgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9PlxuXHRpbXBsZW1lbnRzIFRyYW5zbGF0b3JJbnN0YW5jZU1lbWJlcnNcbntcblx0cHVibGljIHN0YXRpYyByZWFkb25seSB0cmFuc2xhdG9yTmFtZTogc3RyaW5nID0gJ1Vua25vd25UcmFuc2xhdG9yJztcblxuXHRwdWJsaWMgc3RhdGljIGlzUmVxdWlyZWRLZXkgPSAoKSA9PiBmYWxzZTtcblxuXHRwdWJsaWMgc3RhdGljIGlzU3VwcG9ydGVkQXV0b0Zyb20gPSAoKSA9PiBmYWxzZTtcblxuXHRwdWJsaWMgc3RhdGljIGdldFN1cHBvcnRlZExhbmd1YWdlcyA9ICgpOiBzdHJpbmdbXSA9PiBbXTtcblxuXHRwdWJsaWMgYWJzdHJhY3QgZ2V0TGVuZ3RoTGltaXQoKTogbnVtYmVyO1xuXG5cdHB1YmxpYyBhYnN0cmFjdCBnZXRSZXF1ZXN0c1RpbWVvdXQoKTogbnVtYmVyO1xuXG5cdHByb3RlY3RlZCByZWFkb25seSBvcHRpb25zID0ge30gYXMgVHJhbnNsYXRvck9wdGlvbnM8Qz47XG5cdGNvbnN0cnVjdG9yKG9wdGlvbnM/OiBUcmFuc2xhdG9yT3B0aW9uczxDPikge1xuXHRcdGlmIChvcHRpb25zICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG5cdFx0fVxuXHR9XG5cblx0YWJzdHJhY3QgdHJhbnNsYXRlKFxuXHRcdHRleHQ6IHN0cmluZyxcblx0XHRzb3VyY2VMYW5ndWFnZTogc3RyaW5nLFxuXHRcdHRhcmdldExhbmd1YWdlOiBzdHJpbmcsXG5cdCk6IFByb21pc2U8c3RyaW5nPjtcblxuXHRhYnN0cmFjdCB0cmFuc2xhdGVCYXRjaChcblx0XHR0ZXh0OiBzdHJpbmdbXSxcblx0XHRzb3VyY2VMYW5ndWFnZTogc3RyaW5nLFxuXHRcdHRhcmdldExhbmd1YWdlOiBzdHJpbmcsXG5cdCk6IFByb21pc2U8KHN0cmluZyB8IG51bGwpW10+O1xuXG5cdHB1YmxpYyBjaGVja0xpbWl0RXhjZWVkaW5nKHRleHQ6IHN0cmluZyB8IHN0cmluZ1tdKSB7XG5cdFx0Y29uc3QgcGxhaW5UZXh0ID0gQXJyYXkuaXNBcnJheSh0ZXh0KSA/IHRleHQuam9pbignJykgOiB0ZXh0O1xuXHRcdGNvbnN0IGV4dHJhID0gcGxhaW5UZXh0Lmxlbmd0aCAtIHRoaXMuZ2V0TGVuZ3RoTGltaXQoKTtcblx0XHRyZXR1cm4gZXh0cmEgPiAwID8gZXh0cmEgOiAwO1xuXHR9XG5cblx0cHJvdGVjdGVkIGZldGNoOiBGZXRjaGVyID0gYXN5bmMgPFQgZXh0ZW5kcyBGZXRjaGVyUmVxdWVzdFR5cGU+KFxuXHRcdHVybDogc3RyaW5nLFxuXHRcdG9wdGlvbnM6IEZldGNoZXJPcHRpb25zPFQ+LFxuXHQpID0+IHtcblx0XHRjb25zdCBmZXRjaGVyID0gdGhpcy5vcHRpb25zLmZldGNoZXIgPz8gYmFzaWNGZXRjaGVyO1xuXHRcdHJldHVybiBmZXRjaGVyKHVybCwgb3B0aW9ucyk7XG5cdH07XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLGFBQUEsR0FBQUMsT0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW1DQTtBQUNBOzs7QUFJTSxNQUFnQkMsY0FBYztFQWdCbkNDLFlBQVlDLE9BQThCO0lBRHZCLEtBQUFBLE9BQU8sR0FBRyxFQUEwQjtJQXlCN0MsS0FBQUMsS0FBSyxHQUFZLENBQzFCQyxHQUFXLEVBQ1hGLE9BQTBCLEtBQ3ZCRyxTQUFBOztNQUNILE1BQU1DLE9BQU8sR0FBRyxDQUFBQyxFQUFBLE9BQUksQ0FBQ0wsT0FBTyxDQUFDSSxPQUFPLGNBQUFDLEVBQUEsY0FBQUEsRUFBQSxHQUFJQywwQkFBWTtNQUNwRCxPQUFPRixPQUFPLENBQUNGLEdBQUcsRUFBRUYsT0FBTyxDQUFDO0lBQzdCLENBQUM7SUE3QkEsSUFBSUEsT0FBTyxLQUFLTyxTQUFTLEVBQUU7TUFDMUIsSUFBSSxDQUFDUCxPQUFPLEdBQUdBLE9BQU87SUFDdkI7RUFDRDtFQWNPUSxtQkFBbUJBLENBQUNDLElBQXVCO0lBQ2pELE1BQU1DLFNBQVMsR0FBR0MsS0FBSyxDQUFDQyxPQUFPLENBQUNILElBQUksQ0FBQyxHQUFHQSxJQUFJLENBQUNJLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBR0osSUFBSTtJQUM1RCxNQUFNSyxLQUFLLEdBQUdKLFNBQVMsQ0FBQ0ssTUFBTSxHQUFHLElBQUksQ0FBQ0MsY0FBYyxFQUFFO0lBQ3RELE9BQU9GLEtBQUssR0FBRyxDQUFDLEdBQUdBLEtBQUssR0FBRyxDQUFDO0VBQzdCOzs7QUFuQ3VCaEIsY0FBQSxDQUFBbUIsY0FBYyxHQUFXLG1CQUFYO0FBRXZCbkIsY0FBQSxDQUFBb0IsYUFBYSxHQUFHLE1BQU0sS0FBVDtBQUVicEIsY0FBQSxDQUFBcUIsbUJBQW1CLEdBQUcsTUFBTSxLQUFUO0FBRW5CckIsY0FBQSxDQUFBc0IscUJBQXFCLEdBQUcsTUFBZ0IsRUFBbkIiLCJpZ25vcmVMaXN0IjpbXX0=