UNPKG

anylang

Version:

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

53 lines (51 loc) 6.8 kB
// Source: https://github.com/FilipePS/Traduzir-paginas-web/blob/f3a4956a1aa96b7a9124864158a5200827694521/background/translationService.js let lastYandexRequestSIDTime = null; let yandexTranslateSID = null; let yandexSIDNotFound = false; export function getYandexSID(fetcher) { return new Promise((resolve) => { let updateYandexSid = false; if (lastYandexRequestSIDTime) { const date = new Date(); if (yandexTranslateSID) { date.setHours(date.getHours() - 12); } else if (yandexSIDNotFound) { date.setMinutes(date.getMinutes() - 30); } else { date.setMinutes(date.getMinutes() - 2); } if (date.getTime() > lastYandexRequestSIDTime) { updateYandexSid = true; } } else { updateYandexSid = true; } if (updateYandexSid) { lastYandexRequestSIDTime = Date.now(); const url = 'https://translate.yandex.net/website-widget/v1/widget.js?widgetId=ytWidget&pageLang=es&widgetTheme=light&autoMode=false'; fetcher(url, { responseType: 'text' }) .then((response) => { const result = /sid:\s'[0-9a-f.]+/.exec(typeof response.data === 'string' ? response.data : ''); if ((result === null || result === void 0 ? void 0 : result[0]) && result[0].length > 7) { yandexTranslateSID = result[0].substring(6); yandexSIDNotFound = false; } else { yandexSIDNotFound = true; } resolve(); }) .catch((error) => { console.error(error); resolve(); }); } else { resolve(); } }).then(() => yandexTranslateSID); } //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRyYW5zbGF0b3JzL1lhbmRleFRyYW5zbGF0b3IvZ2V0WWFuZGV4U0lELnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBJQUEwSTtBQUkxSSxJQUFJLHdCQUF3QixHQUFrQixJQUFJLENBQUM7QUFDbkQsSUFBSSxrQkFBa0IsR0FBa0IsSUFBSSxDQUFDO0FBQzdDLElBQUksaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0FBRTlCLE1BQU0sVUFBVSxZQUFZLENBQUMsT0FBZ0I7SUFDNUMsT0FBTyxJQUFJLE9BQU8sQ0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFO1FBQ3BDLElBQUksZUFBZSxHQUFHLEtBQUssQ0FBQztRQUM1QixJQUFJLHdCQUF3QixFQUFFLENBQUM7WUFDOUIsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN4QixJQUFJLGtCQUFrQixFQUFFLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ3JDLENBQUM7aUJBQU0sSUFBSSxpQkFBaUIsRUFBRSxDQUFDO2dCQUM5QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUN6QyxDQUFDO2lCQUFNLENBQUM7Z0JBQ1AsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDeEMsQ0FBQztZQUNELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLHdCQUF3QixFQUFFLENBQUM7Z0JBQy9DLGVBQWUsR0FBRyxJQUFJLENBQUM7WUFDeEIsQ0FBQztRQUNGLENBQUM7YUFBTSxDQUFDO1lBQ1AsZUFBZSxHQUFHLElBQUksQ0FBQztRQUN4QixDQUFDO1FBRUQsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUNyQix3QkFBd0IsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDdEMsTUFBTSxHQUFHLEdBQ1IseUhBQXlILENBQUM7WUFFM0gsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsQ0FBQztpQkFDcEMsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQ2xCLE1BQU0sTUFBTSxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FDdEMsT0FBTyxRQUFRLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUN0RCxDQUFDO2dCQUVGLElBQUksQ0FBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUcsQ0FBQyxDQUFDLEtBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDekMsa0JBQWtCLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDNUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO2dCQUMzQixDQUFDO3FCQUFNLENBQUM7b0JBQ1AsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO2dCQUMxQixDQUFDO2dCQUVELE9BQU8sRUFBRSxDQUFDO1lBQ1gsQ0FBQyxDQUFDO2lCQUNELEtBQUssQ0FBQyxDQUFDLEtBQWMsRUFBRSxFQUFFO2dCQUN6QixPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNyQixPQUFPLEVBQUUsQ0FBQztZQUNYLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDUCxPQUFPLEVBQUUsQ0FBQztRQUNYLENBQUM7SUFDRixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQUNuQyxDQUFDIiwiZmlsZSI6InRyYW5zbGF0b3JzL1lhbmRleFRyYW5zbGF0b3IvZ2V0WWFuZGV4U0lELmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vRmlsaXBlUFMvVHJhZHV6aXItcGFnaW5hcy13ZWIvYmxvYi9mM2E0OTU2YTFhYTk2YjdhOTEyNDg2NDE1OGE1MjAwODI3Njk0NTIxL2JhY2tncm91bmQvdHJhbnNsYXRpb25TZXJ2aWNlLmpzXG5cbmltcG9ydCB7IEZldGNoZXIgfSBmcm9tICcuLi8uLi91dGlscy9mZXRjaGVyL3R5cGVzJztcblxubGV0IGxhc3RZYW5kZXhSZXF1ZXN0U0lEVGltZTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5sZXQgeWFuZGV4VHJhbnNsYXRlU0lEOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbmxldCB5YW5kZXhTSUROb3RGb3VuZCA9IGZhbHNlO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0WWFuZGV4U0lEKGZldGNoZXI6IEZldGNoZXIpIHtcblx0cmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiB7XG5cdFx0bGV0IHVwZGF0ZVlhbmRleFNpZCA9IGZhbHNlO1xuXHRcdGlmIChsYXN0WWFuZGV4UmVxdWVzdFNJRFRpbWUpIHtcblx0XHRcdGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpO1xuXHRcdFx0aWYgKHlhbmRleFRyYW5zbGF0ZVNJRCkge1xuXHRcdFx0XHRkYXRlLnNldEhvdXJzKGRhdGUuZ2V0SG91cnMoKSAtIDEyKTtcblx0XHRcdH0gZWxzZSBpZiAoeWFuZGV4U0lETm90Rm91bmQpIHtcblx0XHRcdFx0ZGF0ZS5zZXRNaW51dGVzKGRhdGUuZ2V0TWludXRlcygpIC0gMzApO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0ZGF0ZS5zZXRNaW51dGVzKGRhdGUuZ2V0TWludXRlcygpIC0gMik7XG5cdFx0XHR9XG5cdFx0XHRpZiAoZGF0ZS5nZXRUaW1lKCkgPiBsYXN0WWFuZGV4UmVxdWVzdFNJRFRpbWUpIHtcblx0XHRcdFx0dXBkYXRlWWFuZGV4U2lkID0gdHJ1ZTtcblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0dXBkYXRlWWFuZGV4U2lkID0gdHJ1ZTtcblx0XHR9XG5cblx0XHRpZiAodXBkYXRlWWFuZGV4U2lkKSB7XG5cdFx0XHRsYXN0WWFuZGV4UmVxdWVzdFNJRFRpbWUgPSBEYXRlLm5vdygpO1xuXHRcdFx0Y29uc3QgdXJsID1cblx0XHRcdFx0J2h0dHBzOi8vdHJhbnNsYXRlLnlhbmRleC5uZXQvd2Vic2l0ZS13aWRnZXQvdjEvd2lkZ2V0LmpzP3dpZGdldElkPXl0V2lkZ2V0JnBhZ2VMYW5nPWVzJndpZGdldFRoZW1lPWxpZ2h0JmF1dG9Nb2RlPWZhbHNlJztcblxuXHRcdFx0ZmV0Y2hlcih1cmwsIHsgcmVzcG9uc2VUeXBlOiAndGV4dCcgfSlcblx0XHRcdFx0LnRoZW4oKHJlc3BvbnNlKSA9PiB7XG5cdFx0XHRcdFx0Y29uc3QgcmVzdWx0ID0gL3NpZDpcXHMnWzAtOWEtZi5dKy8uZXhlYyhcblx0XHRcdFx0XHRcdHR5cGVvZiByZXNwb25zZS5kYXRhID09PSAnc3RyaW5nJyA/IHJlc3BvbnNlLmRhdGEgOiAnJyxcblx0XHRcdFx0XHQpO1xuXG5cdFx0XHRcdFx0aWYgKHJlc3VsdD8uWzBdICYmIHJlc3VsdFswXS5sZW5ndGggPiA3KSB7XG5cdFx0XHRcdFx0XHR5YW5kZXhUcmFuc2xhdGVTSUQgPSByZXN1bHRbMF0uc3Vic3RyaW5nKDYpO1xuXHRcdFx0XHRcdFx0eWFuZGV4U0lETm90Rm91bmQgPSBmYWxzZTtcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0eWFuZGV4U0lETm90Rm91bmQgPSB0cnVlO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdHJlc29sdmUoKTtcblx0XHRcdFx0fSlcblx0XHRcdFx0LmNhdGNoKChlcnJvcjogdW5rbm93bikgPT4ge1xuXHRcdFx0XHRcdGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuXHRcdFx0XHRcdHJlc29sdmUoKTtcblx0XHRcdFx0fSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJlc29sdmUoKTtcblx0XHR9XG5cdH0pLnRoZW4oKCkgPT4geWFuZGV4VHJhbnNsYXRlU0lEKTtcbn1cbiJdfQ==