UNPKG

anylang

Version:

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

89 lines (86 loc) 7.72 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.FakeTranslator = exports.ErrorFakeTranslator = void 0; var _BaseTranslator = require("./BaseTranslator"); 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()); }); }; /* eslint-disable class-methods-use-this */ /* eslint-disable @typescript-eslint/require-await */ /** * Fake translator for use in tests and debug */ class FakeTranslator extends _BaseTranslator.BaseTranslator { static isSupportedAutoFrom() { return false; } static getSupportedLanguages() { return ['ru', 'en', 'de', 'ja']; } getLengthLimit() { return 3000; } getRequestsTimeout() { return 10; } checkDirection(from, to) { return from == 'ru' && to == 'ja' ? false : true; } translate(text, from, to) { const delay = this.options.delay === undefined ? 0 : this.options.delay === 'random' ? Math.floor(Math.random() * 1000) : this.options.delay; return new Promise(resolve => { setTimeout(() => { resolve(`*[${from}-${to}]` + text); }, delay); }); } translateBatch(text, from, to) { return Promise.all(text.map(i => this.translate(i, from, to).catch(() => null))); } } exports.FakeTranslator = FakeTranslator; FakeTranslator.translatorName = 'FakeTranslator'; /** * Fake translator which always throw error for use in tests and debug */ class ErrorFakeTranslator extends FakeTranslator { translate(_text, _from, _to) { return __awaiter(this, void 0, void 0, function* () { throw new Error('Fake error for translate method'); }); } translateBatch(_text, _from, _to) { return __awaiter(this, void 0, void 0, function* () { throw new Error('Fake error for translateBatch method'); }); } } exports.ErrorFakeTranslator = ErrorFakeTranslator; ErrorFakeTranslator.translatorName = 'FakeTranslator'; //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRvcnMvRmFrZVRyYW5zbGF0b3IuanMiLCJuYW1lcyI6WyJfQmFzZVRyYW5zbGF0b3IiLCJyZXF1aXJlIiwiRmFrZVRyYW5zbGF0b3IiLCJCYXNlVHJhbnNsYXRvciIsImlzU3VwcG9ydGVkQXV0b0Zyb20iLCJnZXRTdXBwb3J0ZWRMYW5ndWFnZXMiLCJnZXRMZW5ndGhMaW1pdCIsImdldFJlcXVlc3RzVGltZW91dCIsImNoZWNrRGlyZWN0aW9uIiwiZnJvbSIsInRvIiwidHJhbnNsYXRlIiwidGV4dCIsImRlbGF5Iiwib3B0aW9ucyIsInVuZGVmaW5lZCIsIk1hdGgiLCJmbG9vciIsInJhbmRvbSIsIlByb21pc2UiLCJyZXNvbHZlIiwic2V0VGltZW91dCIsInRyYW5zbGF0ZUJhdGNoIiwiYWxsIiwibWFwIiwiaSIsImNhdGNoIiwidHJhbnNsYXRvck5hbWUiLCJFcnJvckZha2VUcmFuc2xhdG9yIiwiX3RleHQiLCJfZnJvbSIsIl90byIsIkVycm9yIl0sInNvdXJjZXMiOlsidHJhbnNsYXRvcnMvRmFrZVRyYW5zbGF0b3IudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgY2xhc3MtbWV0aG9kcy11c2UtdGhpcyAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L3JlcXVpcmUtYXdhaXQgKi9cbmltcG9ydCB7IEJhc2VUcmFuc2xhdG9yIH0gZnJvbSAnLi9CYXNlVHJhbnNsYXRvcic7XG5cbi8qKlxuICogRmFrZSB0cmFuc2xhdG9yIGZvciB1c2UgaW4gdGVzdHMgYW5kIGRlYnVnXG4gKi9cbmV4cG9ydCBjbGFzcyBGYWtlVHJhbnNsYXRvciBleHRlbmRzIEJhc2VUcmFuc2xhdG9yPHtcblx0ZGVsYXk/OiBudW1iZXIgfCAncmFuZG9tJztcbn0+IHtcblx0cHVibGljIHN0YXRpYyByZWFkb25seSB0cmFuc2xhdG9yTmFtZSA9ICdGYWtlVHJhbnNsYXRvcic7XG5cblx0cHVibGljIHN0YXRpYyBpc1N1cHBvcnRlZEF1dG9Gcm9tKCkge1xuXHRcdHJldHVybiBmYWxzZTtcblx0fVxuXG5cdHB1YmxpYyBzdGF0aWMgZ2V0U3VwcG9ydGVkTGFuZ3VhZ2VzKCk6IHN0cmluZ1tdIHtcblx0XHRyZXR1cm4gWydydScsICdlbicsICdkZScsICdqYSddO1xuXHR9XG5cblx0cHVibGljIGdldExlbmd0aExpbWl0KCkge1xuXHRcdHJldHVybiAzMDAwO1xuXHR9XG5cblx0cHVibGljIGdldFJlcXVlc3RzVGltZW91dCgpIHtcblx0XHRyZXR1cm4gMTA7XG5cdH1cblxuXHRwdWJsaWMgY2hlY2tEaXJlY3Rpb24oZnJvbTogc3RyaW5nLCB0bzogc3RyaW5nKSB7XG5cdFx0cmV0dXJuIGZyb20gPT0gJ3J1JyAmJiB0byA9PSAnamEnID8gZmFsc2UgOiB0cnVlO1xuXHR9XG5cblx0cHVibGljIHRyYW5zbGF0ZSh0ZXh0OiBzdHJpbmcsIGZyb206IHN0cmluZywgdG86IHN0cmluZykge1xuXHRcdGNvbnN0IGRlbGF5ID1cblx0XHRcdHRoaXMub3B0aW9ucy5kZWxheSA9PT0gdW5kZWZpbmVkXG5cdFx0XHRcdD8gMFxuXHRcdFx0XHQ6IHRoaXMub3B0aW9ucy5kZWxheSA9PT0gJ3JhbmRvbSdcblx0XHRcdFx0XHQ/IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDEwMDApXG5cdFx0XHRcdFx0OiB0aGlzLm9wdGlvbnMuZGVsYXk7XG5cdFx0cmV0dXJuIG5ldyBQcm9taXNlPHN0cmluZz4oKHJlc29sdmUpID0+IHtcblx0XHRcdHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdFx0XHRyZXNvbHZlKGAqWyR7ZnJvbX0tJHt0b31dYCArIHRleHQpO1xuXHRcdFx0fSwgZGVsYXkpO1xuXHRcdH0pO1xuXHR9XG5cblx0cHVibGljIHRyYW5zbGF0ZUJhdGNoKHRleHQ6IHN0cmluZ1tdLCBmcm9tOiBzdHJpbmcsIHRvOiBzdHJpbmcpIHtcblx0XHRyZXR1cm4gUHJvbWlzZS5hbGwoXG5cdFx0XHR0ZXh0Lm1hcCgoaSkgPT4gdGhpcy50cmFuc2xhdGUoaSwgZnJvbSwgdG8pLmNhdGNoKCgpID0+IG51bGwpKSxcblx0XHQpO1xuXHR9XG59XG5cbi8qKlxuICogRmFrZSB0cmFuc2xhdG9yIHdoaWNoIGFsd2F5cyB0aHJvdyBlcnJvciBmb3IgdXNlIGluIHRlc3RzIGFuZCBkZWJ1Z1xuICovXG5leHBvcnQgY2xhc3MgRXJyb3JGYWtlVHJhbnNsYXRvciBleHRlbmRzIEZha2VUcmFuc2xhdG9yIHtcblx0cHVibGljIHN0YXRpYyByZWFkb25seSB0cmFuc2xhdG9yTmFtZSA9ICdGYWtlVHJhbnNsYXRvcic7XG5cblx0cHVibGljIGFzeW5jIHRyYW5zbGF0ZShfdGV4dDogc3RyaW5nLCBfZnJvbTogc3RyaW5nLCBfdG86IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKCdGYWtlIGVycm9yIGZvciB0cmFuc2xhdGUgbWV0aG9kJyk7XG5cdH1cblxuXHRwdWJsaWMgYXN5bmMgdHJhbnNsYXRlQmF0Y2goXG5cdFx0X3RleHQ6IHN0cmluZ1tdLFxuXHRcdF9mcm9tOiBzdHJpbmcsXG5cdFx0X3RvOiBzdHJpbmcsXG5cdCk6IFByb21pc2U8c3RyaW5nW10+IHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoJ0Zha2UgZXJyb3IgZm9yIHRyYW5zbGF0ZUJhdGNoIG1ldGhvZCcpO1xuXHR9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVBLElBQUFBLGVBQUEsR0FBQUMsT0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUZBO0FBQ0E7O0FBR0E7OztBQUdNLE1BQU9DLGNBQWUsU0FBUUMsOEJBRWxDO0VBR00sT0FBT0MsbUJBQW1CQSxDQUFBO0lBQ2hDLE9BQU8sS0FBSztFQUNiO0VBRU8sT0FBT0MscUJBQXFCQSxDQUFBO0lBQ2xDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7RUFDaEM7RUFFT0MsY0FBY0EsQ0FBQTtJQUNwQixPQUFPLElBQUk7RUFDWjtFQUVPQyxrQkFBa0JBLENBQUE7SUFDeEIsT0FBTyxFQUFFO0VBQ1Y7RUFFT0MsY0FBY0EsQ0FBQ0MsSUFBWSxFQUFFQyxFQUFVO0lBQzdDLE9BQU9ELElBQUksSUFBSSxJQUFJLElBQUlDLEVBQUUsSUFBSSxJQUFJLEdBQUcsS0FBSyxHQUFHLElBQUk7RUFDakQ7RUFFT0MsU0FBU0EsQ0FBQ0MsSUFBWSxFQUFFSCxJQUFZLEVBQUVDLEVBQVU7SUFDdEQsTUFBTUcsS0FBSyxHQUNWLElBQUksQ0FBQ0MsT0FBTyxDQUFDRCxLQUFLLEtBQUtFLFNBQVMsR0FDN0IsQ0FBQyxHQUNELElBQUksQ0FBQ0QsT0FBTyxDQUFDRCxLQUFLLEtBQUssUUFBUSxHQUM5QkcsSUFBSSxDQUFDQyxLQUFLLENBQUNELElBQUksQ0FBQ0UsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQ2hDLElBQUksQ0FBQ0osT0FBTyxDQUFDRCxLQUFLO0lBQ3ZCLE9BQU8sSUFBSU0sT0FBTyxDQUFVQyxPQUFPLElBQUk7TUFDdENDLFVBQVUsQ0FBQyxNQUFLO1FBQ2ZELE9BQU8sQ0FBQyxLQUFLWCxJQUFJLElBQUlDLEVBQUUsR0FBRyxHQUFHRSxJQUFJLENBQUM7TUFDbkMsQ0FBQyxFQUFFQyxLQUFLLENBQUM7SUFDVixDQUFDLENBQUM7RUFDSDtFQUVPUyxjQUFjQSxDQUFDVixJQUFjLEVBQUVILElBQVksRUFBRUMsRUFBVTtJQUM3RCxPQUFPUyxPQUFPLENBQUNJLEdBQUcsQ0FDakJYLElBQUksQ0FBQ1ksR0FBRyxDQUFFQyxDQUFDLElBQUssSUFBSSxDQUFDZCxTQUFTLENBQUNjLENBQUMsRUFBRWhCLElBQUksRUFBRUMsRUFBRSxDQUFDLENBQUNnQixLQUFLLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUM5RDtFQUNGOzs7QUF4Q3VCeEIsY0FBQSxDQUFBeUIsY0FBYyxHQUFHLGdCQUFnQjtBQTJDekQ7OztBQUdNLE1BQU9DLG1CQUFvQixTQUFRMUIsY0FBYztFQUd6Q1MsU0FBU0EsQ0FBQ2tCLEtBQWEsRUFBRUMsS0FBYSxFQUFFQyxHQUFXOztNQUMvRCxNQUFNLElBQUlDLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQztJQUNuRCxDQUFDOztFQUVZVixjQUFjQSxDQUMxQk8sS0FBZSxFQUNmQyxLQUFhLEVBQ2JDLEdBQVc7O01BRVgsTUFBTSxJQUFJQyxLQUFLLENBQUMsc0NBQXNDLENBQUM7SUFDeEQsQ0FBQzs7OztBQVpzQkosbUJBQUEsQ0FBQUQsY0FBYyxHQUFHLGdCQUFnQiIsImlnbm9yZUxpc3QiOltdfQ==