generaltranslation 2.0.39 → 2.0.41
Sign up to get free protection for your applications and to get access to all the features.
package/dist/index.js
CHANGED
@@ -129,7 +129,7 @@ exports.isValidLanguageCode = isValidLanguageCode;
|
|
129
129
|
const standardizeLanguageCode = (code) => (0, codes_1._standardizeLanguageCode)(code);
|
130
130
|
exports.standardizeLanguageCode = standardizeLanguageCode;
|
131
131
|
function getLanguageObject(codes) {
|
132
|
-
return Array.isArray(codes) ? (0, codes_1._getLanguageObject)(codes) : (0, codes_1._getLanguageObject)(
|
132
|
+
return Array.isArray(codes) ? (0, codes_1._getLanguageObject)(codes) : (0, codes_1._getLanguageObject)(codes);
|
133
133
|
}
|
134
134
|
function getLanguageCode(languages) {
|
135
135
|
return (0, codes_1._getLanguageCode)(languages);
|
@@ -12,24 +12,29 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.default = _bundleRequests;
|
13
13
|
/**
|
14
14
|
* Bundles multiple requests and sends them to the server.
|
15
|
-
* @param gt - Contains the baseURL and apiKey for the server request.
|
16
|
-
* @param requests - Array of requests to be processed and sent.
|
17
|
-
* @
|
15
|
+
* @param {{ baseURL: string, apiKey: string }} gt - Contains the baseURL and apiKey for the server request.
|
16
|
+
* @param {Request[]} requests - Array of requests to be processed and sent.
|
17
|
+
* @param {{ timeout?: number }} options - Additional options for the request, including timeout.
|
18
|
+
* @returns {Promise<Array<any | null>>} A promise that resolves to an array of processed results.
|
18
19
|
* @internal
|
19
|
-
*/
|
20
|
-
function _bundleRequests(
|
21
|
-
return __awaiter(this,
|
20
|
+
*/
|
21
|
+
function _bundleRequests(gt_1, requests_1) {
|
22
|
+
return __awaiter(this, arguments, void 0, function* (gt, requests, options = {}) {
|
23
|
+
const controller = new AbortController();
|
24
|
+
const signal = controller.signal;
|
25
|
+
if (options.timeout) {
|
26
|
+
setTimeout(() => controller.abort(), options.timeout);
|
27
|
+
}
|
22
28
|
try {
|
23
|
-
// Send the processed requests to the server as a bundled request.
|
24
29
|
const response = yield fetch(`${gt.baseURL}/bundle`, {
|
25
30
|
method: 'POST',
|
26
31
|
headers: {
|
27
32
|
'Content-Type': 'application/json',
|
28
33
|
'gtx-api-key': gt.apiKey,
|
29
34
|
},
|
30
|
-
body: JSON.stringify(requests)
|
35
|
+
body: JSON.stringify(requests),
|
36
|
+
signal
|
31
37
|
});
|
32
|
-
// Check for response errors.
|
33
38
|
if (!response.ok) {
|
34
39
|
throw new Error(`${response.status}: ${yield response.text()}`);
|
35
40
|
}
|
@@ -37,6 +42,10 @@ function _bundleRequests(gt, requests) {
|
|
37
42
|
return resultArray;
|
38
43
|
}
|
39
44
|
catch (error) {
|
45
|
+
if (error instanceof Error && error.name === 'AbortError') {
|
46
|
+
console.error('Request timed out');
|
47
|
+
return Array.from(requests, () => ({ translation: null, error: 'Request timed out' }));
|
48
|
+
}
|
40
49
|
console.error(error);
|
41
50
|
return Array.from(requests, () => ({ translation: null, error: error }));
|
42
51
|
}
|
@@ -11,17 +11,22 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
12
12
|
exports.default = _translate;
|
13
13
|
/**
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
14
|
+
* Translates a single piece of content and caches for use in a public project.
|
15
|
+
* @param {{ baseURL: string, apiKey: string }} gt - The translation service configuration.
|
16
|
+
* @param {string} content - The content to translate.
|
17
|
+
* @param {string} targetLanguage - The target language for the translation.
|
18
|
+
* @param {string} projectID - The ID of the project
|
19
|
+
* @param {{ dictionaryName?: string, notes?: string, timeout?: number, [key: string]: any }} metadata - Additional metadata for the translation request.
|
20
|
+
* @returns {Promise<{ translation: string, error?: Error | unknown }>} - The translated content with optional error information.
|
21
|
+
* @internal
|
22
22
|
*/
|
23
23
|
function _translate(gt, content, targetLanguage, projectID, metadata) {
|
24
24
|
return __awaiter(this, void 0, void 0, function* () {
|
25
|
+
const controller = new AbortController();
|
26
|
+
const signal = controller.signal;
|
27
|
+
if (metadata.timeout) {
|
28
|
+
setTimeout(() => controller.abort(), metadata.timeout);
|
29
|
+
}
|
25
30
|
try {
|
26
31
|
const response = yield fetch(`${gt.baseURL}/translate`, {
|
27
32
|
method: 'POST',
|
@@ -31,7 +36,8 @@ function _translate(gt, content, targetLanguage, projectID, metadata) {
|
|
31
36
|
},
|
32
37
|
body: JSON.stringify({
|
33
38
|
content, targetLanguage, projectID, metadata
|
34
|
-
})
|
39
|
+
}),
|
40
|
+
signal
|
35
41
|
});
|
36
42
|
if (!response.ok) {
|
37
43
|
throw new Error(`${response.status}: ${yield response.text()}`);
|
@@ -40,6 +46,13 @@ function _translate(gt, content, targetLanguage, projectID, metadata) {
|
|
40
46
|
return result;
|
41
47
|
}
|
42
48
|
catch (error) {
|
49
|
+
if (error instanceof Error && error.name === 'AbortError') {
|
50
|
+
console.error('Request timed out');
|
51
|
+
return {
|
52
|
+
translation: content,
|
53
|
+
error: 'Request timed out'
|
54
|
+
};
|
55
|
+
}
|
43
56
|
console.error(error);
|
44
57
|
return {
|
45
58
|
translation: content,
|
@@ -15,12 +15,17 @@ exports.default = _translate;
|
|
15
15
|
* @param {{ baseURL: string, apiKey: string }} gt - The translation service configuration.
|
16
16
|
* @param {string} content - The content to translate.
|
17
17
|
* @param {string} targetLanguage - The target language for the translation.
|
18
|
-
* @param {{ notes?: string, [key: string]: any }} metadata - Additional metadata for the translation request.
|
18
|
+
* @param {{ notes?: string, timeout?: number, [key: string]: any }} metadata - Additional metadata for the translation request.
|
19
19
|
* @returns {Promise<{ translation: string, error?: Error | unknown }>} - The translated content with optional error information.
|
20
20
|
* @internal
|
21
21
|
*/
|
22
22
|
function _translate(gt, content, targetLanguage, metadata) {
|
23
23
|
return __awaiter(this, void 0, void 0, function* () {
|
24
|
+
const controller = new AbortController();
|
25
|
+
const signal = controller.signal;
|
26
|
+
if (metadata.timeout) {
|
27
|
+
setTimeout(() => controller.abort(), metadata.timeout);
|
28
|
+
}
|
24
29
|
try {
|
25
30
|
const response = yield fetch(`${gt.baseURL}/translate`, {
|
26
31
|
method: 'POST',
|
@@ -30,7 +35,8 @@ function _translate(gt, content, targetLanguage, metadata) {
|
|
30
35
|
},
|
31
36
|
body: JSON.stringify({
|
32
37
|
content, targetLanguage, metadata
|
33
|
-
})
|
38
|
+
}),
|
39
|
+
signal
|
34
40
|
});
|
35
41
|
if (!response.ok) {
|
36
42
|
throw new Error(`${response.status}: ${yield response.text()}`);
|
@@ -39,6 +45,13 @@ function _translate(gt, content, targetLanguage, metadata) {
|
|
39
45
|
return result;
|
40
46
|
}
|
41
47
|
catch (error) {
|
48
|
+
if (error instanceof Error && error.name === 'AbortError') {
|
49
|
+
console.error('Request timed out');
|
50
|
+
return {
|
51
|
+
translation: content,
|
52
|
+
error: 'Request timed out'
|
53
|
+
};
|
54
|
+
}
|
42
55
|
console.error(error);
|
43
56
|
return {
|
44
57
|
translation: content,
|
@@ -13,18 +13,23 @@ exports.default = _translateReactChildren;
|
|
13
13
|
/**
|
14
14
|
* Translates the given content into the target language using a specified API.
|
15
15
|
*
|
16
|
-
* @param {
|
17
|
-
* @param {
|
16
|
+
* @param {{ baseURL: string, apiKey: string }} gt - An object containing baseURL and apiKey for the API.
|
17
|
+
* @param {any} content - The content to be translated. This can be of any type.
|
18
18
|
* @param {string} targetLanguage - The target language code (e.g., 'en', 'fr') for the translation.
|
19
|
-
* @param {
|
19
|
+
* @param {{ [key: string]: any }} metadata - Additional metadata to be sent with the translation request.
|
20
20
|
*
|
21
|
-
* @returns {Promise<any | null>} - A promise that resolves to the translated content as an object, or null if an error occurs.
|
21
|
+
* @returns {Promise<{ translation: any | null, error?: Error | unknown }>} - A promise that resolves to the translated content as an object, or null if an error occurs.
|
22
22
|
*
|
23
23
|
* @throws {Error} - Throws an error if the response from the API is not ok (status code not in the range 200-299).
|
24
24
|
* @internal
|
25
25
|
**/
|
26
26
|
function _translateReactChildren(gt, content, targetLanguage, metadata) {
|
27
27
|
return __awaiter(this, void 0, void 0, function* () {
|
28
|
+
const controller = new AbortController();
|
29
|
+
const signal = controller.signal;
|
30
|
+
if (metadata.timeout) {
|
31
|
+
setTimeout(() => controller.abort(), metadata.timeout);
|
32
|
+
}
|
28
33
|
try {
|
29
34
|
const response = yield fetch(`${gt.baseURL}/react`, {
|
30
35
|
method: 'POST',
|
@@ -36,7 +41,8 @@ function _translateReactChildren(gt, content, targetLanguage, metadata) {
|
|
36
41
|
content: content,
|
37
42
|
targetLanguage: targetLanguage,
|
38
43
|
metadata: metadata
|
39
|
-
})
|
44
|
+
}),
|
45
|
+
signal
|
40
46
|
});
|
41
47
|
if (!response.ok) {
|
42
48
|
throw new Error(`${response.status}: ${yield response.text()}`);
|
@@ -44,6 +50,13 @@ function _translateReactChildren(gt, content, targetLanguage, metadata) {
|
|
44
50
|
return yield response.json();
|
45
51
|
}
|
46
52
|
catch (error) {
|
53
|
+
if (error instanceof Error && error.name === 'AbortError') {
|
54
|
+
console.error('Request timed out');
|
55
|
+
return {
|
56
|
+
translation: null,
|
57
|
+
error: 'Request timed out'
|
58
|
+
};
|
59
|
+
}
|
47
60
|
console.error(error);
|
48
61
|
return {
|
49
62
|
translation: null,
|