@lokalise/polyglot-sdk 3.1.0 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/sdk/PolyglotClient.d.ts +5 -2
- package/dist/sdk/PolyglotClient.js +53 -13
- package/dist/sdk/PolyglotClient.js.map +1 -1
- package/dist/sdk/segmentUtils.d.ts +3 -0
- package/dist/sdk/segmentUtils.js +22 -0
- package/dist/sdk/segmentUtils.js.map +1 -0
- package/dist/sdk/types/callbacks.d.ts +4 -0
- package/dist/sdk/types/callbacks.js +3 -0
- package/dist/sdk/types/callbacks.js.map +1 -0
- package/dist/sdk/types/client.d.ts +6 -0
- package/dist/sdk/types/requests.d.ts +5 -0
- package/dist/sdk/types/responses.d.ts +1 -0
- package/package.json +4 -4
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -9,4 +9,5 @@ Object.defineProperty(exports, "PolyglotError", { enumerable: true, get: functio
|
|
|
9
9
|
tslib_1.__exportStar(require("./sdk/types/client"), exports);
|
|
10
10
|
tslib_1.__exportStar(require("./sdk/types/requests"), exports);
|
|
11
11
|
tslib_1.__exportStar(require("./sdk/types/responses"), exports);
|
|
12
|
+
tslib_1.__exportStar(require("./sdk/types/callbacks"), exports);
|
|
12
13
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA,uDAAqD;AAA5C,gHAAA,cAAc,OAAA;AACvB,4DAA0D;AAAjD,8GAAA,aAAa,OAAA;AACtB,6DAAkC;AAClC,+DAAoC;AACpC,gEAAqC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA,uDAAqD;AAA5C,gHAAA,cAAc,OAAA;AACvB,4DAA0D;AAAjD,8GAAA,aAAa,OAAA;AACtB,6DAAkC;AAClC,+DAAoC;AACpC,gEAAqC;AACrC,gEAAqC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
1
|
+
import type { Either } from '@lokalise/node-core';
|
|
2
|
+
import type { ClientOptions, ClientOptionsWithRequestContext, PolyglotClientConfig } from './types/client';
|
|
3
|
+
import type { GenerateVariantsRequest, LqaSyncRequest, TranslateAsyncRequestBody, TranslateSyncRequest } from './types/requests';
|
|
3
4
|
import type { ContentUnitLqaResponse, ContentUnitTranslationResponse, PolyglotClientSyncIterativeResponse } from './types/responses';
|
|
4
5
|
export declare class PolyglotClient {
|
|
5
6
|
private readonly client;
|
|
@@ -23,7 +24,9 @@ export declare class PolyglotClient {
|
|
|
23
24
|
*/
|
|
24
25
|
generateVariants(request: GenerateVariantsRequest, options?: ClientOptions): Promise<string[]>;
|
|
25
26
|
private callTranslateSyncApi;
|
|
27
|
+
translateAsync(requestBody: TranslateAsyncRequestBody, options: ClientOptionsWithRequestContext): Promise<Either<Error, 'scheduled' | 'nothingToTranslate'>>;
|
|
26
28
|
private callLqaSyncApi;
|
|
29
|
+
private wrapWithErrorHandling;
|
|
27
30
|
/**
|
|
28
31
|
* Calls the provided request function and logs the execution time and metadata with the provided logger
|
|
29
32
|
* @private
|
|
@@ -2,8 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PolyglotClient = void 0;
|
|
4
4
|
const node_core_1 = require("@lokalise/node-core");
|
|
5
|
+
const typeUtils_1 = require("@lokalise/node-core/dist/src/utils/typeUtils");
|
|
5
6
|
const PolyglotError_1 = require("./errors/PolyglotError");
|
|
6
7
|
const polyglotChunkHandler_1 = require("./polyglotChunkHandler");
|
|
8
|
+
const segmentUtils_1 = require("./segmentUtils");
|
|
7
9
|
const DEFAULT_CLIENT_OPTIONS = {
|
|
8
10
|
timeout: 30000,
|
|
9
11
|
};
|
|
@@ -50,12 +52,7 @@ class PolyglotClient {
|
|
|
50
52
|
for (const requestChunked of chunks) {
|
|
51
53
|
yield {
|
|
52
54
|
response: await this.callTranslateSyncApi(requestChunked, resolvedOptions),
|
|
53
|
-
segmentIdsProcessedByContentUnitId: requestChunked.contentUnits
|
|
54
|
-
if (!acc[cu.id])
|
|
55
|
-
acc[cu.id] = [];
|
|
56
|
-
acc[cu.id].push(...cu.segments.map((s) => s.id));
|
|
57
|
-
return acc;
|
|
58
|
-
}, {}),
|
|
55
|
+
segmentIdsProcessedByContentUnitId: (0, segmentUtils_1.groupTranslationSegmentIdsProcessedByContentUnitId)(requestChunked.contentUnits),
|
|
59
56
|
};
|
|
60
57
|
}
|
|
61
58
|
}
|
|
@@ -68,12 +65,7 @@ class PolyglotClient {
|
|
|
68
65
|
for (const requestChunked of chunks) {
|
|
69
66
|
yield {
|
|
70
67
|
response: await this.callLqaSyncApi(requestChunked, options),
|
|
71
|
-
segmentIdsProcessedByContentUnitId: requestChunked.contentUnits
|
|
72
|
-
if (!acc[cu.id])
|
|
73
|
-
acc[cu.id] = [];
|
|
74
|
-
acc[cu.id].push(...cu.segments.flatMap((s) => s.translations).map((t) => t.id));
|
|
75
|
-
return acc;
|
|
76
|
-
}, {}),
|
|
68
|
+
segmentIdsProcessedByContentUnitId: (0, segmentUtils_1.groupLqaSegmentIdsProcessedByContentUnitId)(requestChunked.contentUnits),
|
|
77
69
|
};
|
|
78
70
|
}
|
|
79
71
|
}
|
|
@@ -134,6 +126,42 @@ class PolyglotClient {
|
|
|
134
126
|
});
|
|
135
127
|
return result.body.contentUnits;
|
|
136
128
|
}
|
|
129
|
+
async translateAsync(requestBody, options) {
|
|
130
|
+
const contentUnits = requestBody.contentUnits.filter((contentUnit) => contentUnit.segments.length > 0);
|
|
131
|
+
if (contentUnits.length === 0) {
|
|
132
|
+
return (0, node_core_1.success)('nothingToTranslate');
|
|
133
|
+
}
|
|
134
|
+
const resolvedOptions = resolveOptions(options);
|
|
135
|
+
const requestLabel = 'Translate asynchronously (Polyglot)';
|
|
136
|
+
const result = await this.wrapWithErrorHandling(() => {
|
|
137
|
+
return (0, node_core_1.sendPost)(this.client, '/v1/content/actions/translate-async', requestBody, {
|
|
138
|
+
reqContext: resolvedOptions.reqContext,
|
|
139
|
+
retryConfig: this.retryConfig,
|
|
140
|
+
throwOnError: false,
|
|
141
|
+
timeout: resolvedOptions.timeout,
|
|
142
|
+
headers: {
|
|
143
|
+
...this.clientHeaders,
|
|
144
|
+
'x-fake-processing': resolvedOptions.fakeProcessing ? 'true' : undefined,
|
|
145
|
+
},
|
|
146
|
+
requestLabel,
|
|
147
|
+
});
|
|
148
|
+
});
|
|
149
|
+
if (result.error) {
|
|
150
|
+
return result;
|
|
151
|
+
}
|
|
152
|
+
if (result.result.statusCode === 202) {
|
|
153
|
+
return (0, node_core_1.success)('scheduled');
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
return (0, node_core_1.failure)(new node_core_1.InternalError({
|
|
157
|
+
message: 'Failed to schedule asynchronous translation',
|
|
158
|
+
errorCode: 'FAILED_TO_SCHEDULE_ASYNC_TRANSLATION',
|
|
159
|
+
details: {
|
|
160
|
+
originCorrelationId: requestBody.originCorrelationId,
|
|
161
|
+
},
|
|
162
|
+
}));
|
|
163
|
+
}
|
|
164
|
+
}
|
|
137
165
|
async callLqaSyncApi(request, options) {
|
|
138
166
|
const resolvedOptions = resolveOptions(options);
|
|
139
167
|
const requestLabel = 'Review with LQA synchronously (Polyglot)';
|
|
@@ -159,6 +187,18 @@ class PolyglotClient {
|
|
|
159
187
|
});
|
|
160
188
|
return result.body.contentUnits;
|
|
161
189
|
}
|
|
190
|
+
async wrapWithErrorHandling(innerFn) {
|
|
191
|
+
try {
|
|
192
|
+
const { result, error } = await innerFn();
|
|
193
|
+
if (error) {
|
|
194
|
+
return (0, node_core_1.failure)(this.wrapError(error));
|
|
195
|
+
}
|
|
196
|
+
return (0, node_core_1.success)(result);
|
|
197
|
+
}
|
|
198
|
+
catch (error) {
|
|
199
|
+
return (0, node_core_1.failure)(this.wrapError(error));
|
|
200
|
+
}
|
|
201
|
+
}
|
|
162
202
|
/**
|
|
163
203
|
* Calls the provided request function and logs the execution time and metadata with the provided logger
|
|
164
204
|
* @private
|
|
@@ -190,7 +230,7 @@ class PolyglotClient {
|
|
|
190
230
|
}
|
|
191
231
|
wrapError(e) {
|
|
192
232
|
let error;
|
|
193
|
-
if (
|
|
233
|
+
if ((0, typeUtils_1.isError)(e)) {
|
|
194
234
|
error = (0, node_core_1.isResponseStatusError)(e) ? new PolyglotError_1.PolyglotError(e) : e;
|
|
195
235
|
}
|
|
196
236
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PolyglotClient.js","sourceRoot":"","sources":["../../src/sdk/PolyglotClient.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"PolyglotClient.js","sourceRoot":"","sources":["../../src/sdk/PolyglotClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { LqaContentUnit, TranslateSyncContentUnits } from './types/requests';
|
|
2
|
+
export declare function groupTranslationSegmentIdsProcessedByContentUnitId(contentUnits: readonly TranslateSyncContentUnits[]): Record<string, string[]>;
|
|
3
|
+
export declare function groupLqaSegmentIdsProcessedByContentUnitId(contentUnits: readonly LqaContentUnit[]): Record<string, string[]>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.groupLqaSegmentIdsProcessedByContentUnitId = exports.groupTranslationSegmentIdsProcessedByContentUnitId = void 0;
|
|
4
|
+
function groupTranslationSegmentIdsProcessedByContentUnitId(contentUnits) {
|
|
5
|
+
return contentUnits.reduce((acc, cu) => {
|
|
6
|
+
if (!acc[cu.id])
|
|
7
|
+
acc[cu.id] = [];
|
|
8
|
+
acc[cu.id].push(...cu.segments.map((s) => s.id));
|
|
9
|
+
return acc;
|
|
10
|
+
}, {});
|
|
11
|
+
}
|
|
12
|
+
exports.groupTranslationSegmentIdsProcessedByContentUnitId = groupTranslationSegmentIdsProcessedByContentUnitId;
|
|
13
|
+
function groupLqaSegmentIdsProcessedByContentUnitId(contentUnits) {
|
|
14
|
+
return contentUnits.reduce((acc, cu) => {
|
|
15
|
+
if (!acc[cu.id])
|
|
16
|
+
acc[cu.id] = [];
|
|
17
|
+
acc[cu.id].push(...cu.segments.flatMap((s) => s.translations).map((t) => t.id));
|
|
18
|
+
return acc;
|
|
19
|
+
}, {});
|
|
20
|
+
}
|
|
21
|
+
exports.groupLqaSegmentIdsProcessedByContentUnitId = groupLqaSegmentIdsProcessedByContentUnitId;
|
|
22
|
+
//# sourceMappingURL=segmentUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"segmentUtils.js","sourceRoot":"","sources":["../../src/sdk/segmentUtils.ts"],"names":[],"mappings":";;;AAEA,SAAgB,kDAAkD,CAChE,YAAkD;IAElD,OAAO,YAAY,CAAC,MAAM,CACxB,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;QACV,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAA;QAChC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAChD,OAAO,GAAG,CAAA;IACZ,CAAC,EACD,EAA8B,CAC/B,CAAA;AACH,CAAC;AAXD,gHAWC;AAED,SAAgB,0CAA0C,CACxD,YAAuC;IAEvC,OAAO,YAAY,CAAC,MAAM,CACxB,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;QACV,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAA;QAChC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QAC/E,OAAO,GAAG,CAAA;IACZ,CAAC,EACD,EAA8B,CAC/B,CAAA;AACH,CAAC;AAXD,gGAWC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"callbacks.js","sourceRoot":"","sources":["../../../src/sdk/types/callbacks.ts"],"names":[],"mappings":""}
|
|
@@ -7,6 +7,12 @@ export type ClientOptions = {
|
|
|
7
7
|
metadata?: Record<string, string>;
|
|
8
8
|
timeout?: number;
|
|
9
9
|
};
|
|
10
|
+
export type ClientOptionsWithRequestContext = {
|
|
11
|
+
fakeProcessing?: boolean;
|
|
12
|
+
reqContext: RequestContext;
|
|
13
|
+
metadata?: Record<string, string>;
|
|
14
|
+
timeout?: number;
|
|
15
|
+
};
|
|
10
16
|
export type InstrumentationOptions = {
|
|
11
17
|
requestLabel: string;
|
|
12
18
|
callMetadata?: Record<string, string>;
|
|
@@ -5,6 +5,11 @@ export type TranslateSyncRequest = {
|
|
|
5
5
|
context?: PolyglotAssetsRequest;
|
|
6
6
|
integration?: IntegrationKind;
|
|
7
7
|
};
|
|
8
|
+
export type TranslateAsyncRequestBody = TranslateSyncRequest & {
|
|
9
|
+
callbackUrl: string;
|
|
10
|
+
callbackToken: string;
|
|
11
|
+
originCorrelationId: string;
|
|
12
|
+
};
|
|
8
13
|
export type TranslateSyncContentUnits = {
|
|
9
14
|
id: string;
|
|
10
15
|
segments: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lokalise/polyglot-sdk",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.2.0",
|
|
4
4
|
"author": {
|
|
5
5
|
"name": "Lokalise",
|
|
6
6
|
"url": "https://lokalise.com/"
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"zod": "^3.22.4"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
|
-
"@types/node": "^20.12.
|
|
45
|
+
"@types/node": "^20.12.5",
|
|
46
46
|
"@typescript-eslint/eslint-plugin": "^7.4.0",
|
|
47
47
|
"@typescript-eslint/parser": "^7.4.0",
|
|
48
48
|
"@vitest/coverage-v8": "^0.34.6",
|
|
@@ -50,11 +50,11 @@
|
|
|
50
50
|
"eslint": "^8.57.0",
|
|
51
51
|
"eslint-plugin-import": "^2.29.1",
|
|
52
52
|
"eslint-plugin-vitest": "^0.4.1",
|
|
53
|
-
"mockttp": "^3.10.
|
|
53
|
+
"mockttp": "^3.10.2",
|
|
54
54
|
"prettier": "^3.2.5",
|
|
55
55
|
"shx": "^0.3.4",
|
|
56
56
|
"ts-deepmerge": "^7.0.0",
|
|
57
|
-
"typescript": "5.4.
|
|
57
|
+
"typescript": "5.4.4",
|
|
58
58
|
"vitest": "^0.34.6"
|
|
59
59
|
}
|
|
60
60
|
}
|