smartling-api-sdk-nodejs 2.10.1 → 2.12.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/.scannerwork/report-task.txt +2 -2
- package/api/file-translations/params/fts-upload-file-parameters.ts +13 -0
- package/api/files/params/upload-file-parameters.ts +11 -0
- package/built/api/file-translations/params/fts-upload-file-parameters.d.ts +1 -0
- package/built/api/file-translations/params/fts-upload-file-parameters.js +10 -0
- package/built/api/file-translations/params/fts-upload-file-parameters.js.map +1 -1
- package/built/api/files/params/upload-file-parameters.d.ts +1 -0
- package/built/api/files/params/upload-file-parameters.js +8 -0
- package/built/api/files/params/upload-file-parameters.js.map +1 -1
- package/built/package.json +1 -1
- package/package.json +1 -1
- package/test/file-translations.spec.ts +4 -2
- package/test/files.spec.ts +10 -0
|
@@ -2,5 +2,5 @@ projectKey=smartling-api-sdk-nodejs
|
|
|
2
2
|
serverUrl=https://sonar-next.connectors.stg.smartling.net
|
|
3
3
|
serverVersion=8.6.1.40680
|
|
4
4
|
dashboardUrl=https://sonar-next.connectors.stg.smartling.net/dashboard?id=smartling-api-sdk-nodejs
|
|
5
|
-
ceTaskId=
|
|
6
|
-
ceTaskUrl=https://sonar-next.connectors.stg.smartling.net/api/ce/task?id=
|
|
5
|
+
ceTaskId=AZHGsopjeTFUeF_dKNj1
|
|
6
|
+
ceTaskUrl=https://sonar-next.connectors.stg.smartling.net/api/ce/task?id=AZHGsopjeTFUeF_dKNj1
|
|
@@ -26,4 +26,17 @@ export class FtsUploadFileParameters extends BaseParameters {
|
|
|
26
26
|
this.parameters.request.fileType = fileType.toUpperCase();
|
|
27
27
|
return this;
|
|
28
28
|
}
|
|
29
|
+
|
|
30
|
+
addDirective(instruction: string, value: string): FtsUploadFileParameters {
|
|
31
|
+
if (!this.parameters.request.parseConfigItems) {
|
|
32
|
+
this.parameters.request.parseConfigItems = [];
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
this.parameters.request.parseConfigItems = this.parameters.request.parseConfigItems.concat({
|
|
36
|
+
instruction,
|
|
37
|
+
value
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
return this;
|
|
41
|
+
}
|
|
29
42
|
}
|
|
@@ -2,6 +2,7 @@ import * as fs from "fs";
|
|
|
2
2
|
import string2fileStream from "string-to-file-stream";
|
|
3
3
|
import { BaseParameters } from "../../parameters/index";
|
|
4
4
|
import { FileType } from "./file-type";
|
|
5
|
+
import { SmartlingException } from "../../exception";
|
|
5
6
|
|
|
6
7
|
export class UploadFileParameters extends BaseParameters {
|
|
7
8
|
setDirective(key: string, value: string): UploadFileParameters {
|
|
@@ -44,4 +45,14 @@ export class UploadFileParameters extends BaseParameters {
|
|
|
44
45
|
this.set("fileUri", fileUri);
|
|
45
46
|
return this;
|
|
46
47
|
}
|
|
48
|
+
|
|
49
|
+
setCallbackUrl(callbackUrl: string): UploadFileParameters {
|
|
50
|
+
if (callbackUrl && (callbackUrl.length > 255)) {
|
|
51
|
+
throw new SmartlingException("File callback URL should be not greater than 255 characters.");
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
this.set("callbackUrl", callbackUrl);
|
|
55
|
+
|
|
56
|
+
return this;
|
|
57
|
+
}
|
|
47
58
|
}
|
|
@@ -5,4 +5,5 @@ export declare class FtsUploadFileParameters extends BaseParameters {
|
|
|
5
5
|
setFileFromLocalFilePath(filePath: string): FtsUploadFileParameters;
|
|
6
6
|
setFileContent(fileContent: string): FtsUploadFileParameters;
|
|
7
7
|
setFileType(fileType: FileType): FtsUploadFileParameters;
|
|
8
|
+
addDirective(instruction: string, value: string): FtsUploadFileParameters;
|
|
8
9
|
}
|
|
@@ -47,6 +47,16 @@ class FtsUploadFileParameters extends parameters_1.BaseParameters {
|
|
|
47
47
|
this.parameters.request.fileType = fileType.toUpperCase();
|
|
48
48
|
return this;
|
|
49
49
|
}
|
|
50
|
+
addDirective(instruction, value) {
|
|
51
|
+
if (!this.parameters.request.parseConfigItems) {
|
|
52
|
+
this.parameters.request.parseConfigItems = [];
|
|
53
|
+
}
|
|
54
|
+
this.parameters.request.parseConfigItems = this.parameters.request.parseConfigItems.concat({
|
|
55
|
+
instruction,
|
|
56
|
+
value
|
|
57
|
+
});
|
|
58
|
+
return this;
|
|
59
|
+
}
|
|
50
60
|
}
|
|
51
61
|
exports.FtsUploadFileParameters = FtsUploadFileParameters;
|
|
52
62
|
//# sourceMappingURL=fts-upload-file-parameters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fts-upload-file-parameters.js","sourceRoot":"","sources":["../../../../api/file-translations/params/fts-upload-file-parameters.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,kFAAsD;AACtD,iDAAkD;AAGlD,MAAa,uBAAwB,SAAQ,2BAAc;IACvD,YAAY,aAAsC,EAAE;QAChD,KAAK,CAAC,UAAU,CAAC,CAAC;QAElB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,wBAAwB,CAAC,QAAgB;QACrC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAChC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAC5B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,cAAc,CAAC,WAAmB;QAC9B,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAA,+BAAiB,EAAC,WAAW,CAAC,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,QAAkB;QAC1B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;
|
|
1
|
+
{"version":3,"file":"fts-upload-file-parameters.js","sourceRoot":"","sources":["../../../../api/file-translations/params/fts-upload-file-parameters.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,kFAAsD;AACtD,iDAAkD;AAGlD,MAAa,uBAAwB,SAAQ,2BAAc;IACvD,YAAY,aAAsC,EAAE;QAChD,KAAK,CAAC,UAAU,CAAC,CAAC;QAElB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,wBAAwB,CAAC,QAAgB;QACrC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAChC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAC5B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,cAAc,CAAC,WAAmB;QAC9B,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAA,+BAAiB,EAAC,WAAW,CAAC,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,QAAkB;QAC1B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,YAAY,CAAC,WAAmB,EAAE,KAAa;QAC3C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,EAAE;YAC3C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,GAAG,EAAE,CAAC;SACjD;QAED,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC;YACvF,WAAW;YACX,KAAK;SACR,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AApCD,0DAoCC"}
|
|
@@ -7,4 +7,5 @@ export declare class UploadFileParameters extends BaseParameters {
|
|
|
7
7
|
setFileContent(fileContent: string): UploadFileParameters;
|
|
8
8
|
setFileType(fileType: FileType): UploadFileParameters;
|
|
9
9
|
setFileUri(fileUri: string): UploadFileParameters;
|
|
10
|
+
setCallbackUrl(callbackUrl: string): UploadFileParameters;
|
|
10
11
|
}
|
|
@@ -30,6 +30,7 @@ exports.UploadFileParameters = void 0;
|
|
|
30
30
|
const fs = __importStar(require("fs"));
|
|
31
31
|
const string_to_file_stream_1 = __importDefault(require("string-to-file-stream"));
|
|
32
32
|
const index_1 = require("../../parameters/index");
|
|
33
|
+
const exception_1 = require("../../exception");
|
|
33
34
|
class UploadFileParameters extends index_1.BaseParameters {
|
|
34
35
|
setDirective(key, value) {
|
|
35
36
|
this.set(`smartling.${key}`, value);
|
|
@@ -55,6 +56,13 @@ class UploadFileParameters extends index_1.BaseParameters {
|
|
|
55
56
|
this.set("fileUri", fileUri);
|
|
56
57
|
return this;
|
|
57
58
|
}
|
|
59
|
+
setCallbackUrl(callbackUrl) {
|
|
60
|
+
if (callbackUrl && (callbackUrl.length > 255)) {
|
|
61
|
+
throw new exception_1.SmartlingException("File callback URL should be not greater than 255 characters.");
|
|
62
|
+
}
|
|
63
|
+
this.set("callbackUrl", callbackUrl);
|
|
64
|
+
return this;
|
|
65
|
+
}
|
|
58
66
|
}
|
|
59
67
|
exports.UploadFileParameters = UploadFileParameters;
|
|
60
68
|
//# sourceMappingURL=upload-file-parameters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-file-parameters.js","sourceRoot":"","sources":["../../../../api/files/params/upload-file-parameters.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,kFAAsD;AACtD,kDAAwD;
|
|
1
|
+
{"version":3,"file":"upload-file-parameters.js","sourceRoot":"","sources":["../../../../api/files/params/upload-file-parameters.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,kFAAsD;AACtD,kDAAwD;AAExD,+CAAqD;AAErD,MAAa,oBAAqB,SAAQ,sBAAc;IACpD,YAAY,CAAC,GAAW,EAAE,KAAa;QACnC,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;QAEpC,OAAO,IAAI,CAAC;IAChB,CAAC;IAOD,OAAO,CAAC,QAAgB;QACpB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAChC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAC5B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,wBAAwB,CAAC,QAAgB;QACrC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAChC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAC5B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,cAAc,CAAC,WAAmB;QAC9B,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAA,+BAAiB,EAAC,WAAW,CAAC,CAAC,CAAC;QAEjD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,QAAkB;QAC1B,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,UAAU,CAAC,OAAe;QACtB,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,cAAc,CAAC,WAAmB;QAC9B,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE;YAC3C,MAAM,IAAI,8BAAkB,CAAC,8DAA8D,CAAC,CAAC;SAChG;QAED,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QAErC,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAnDD,oDAmDC"}
|
package/built/package.json
CHANGED
package/package.json
CHANGED
|
@@ -105,7 +105,9 @@ describe("SmartlingFileTranslationsApi class tests.", () => {
|
|
|
105
105
|
|
|
106
106
|
params
|
|
107
107
|
.setFileType(FileType.XML)
|
|
108
|
-
.setFileContent(testFileContent)
|
|
108
|
+
.setFileContent(testFileContent)
|
|
109
|
+
.addDirective("entity_escaping_strategy", "propagade")
|
|
110
|
+
.addDirective("placeholder_format_custom", "test");
|
|
109
111
|
|
|
110
112
|
await fileTranslationsApi.uploadFile(accountUid, params);
|
|
111
113
|
|
|
@@ -141,7 +143,7 @@ describe("SmartlingFileTranslationsApi class tests.", () => {
|
|
|
141
143
|
assert.equal(content, testFileContent);
|
|
142
144
|
|
|
143
145
|
// eslint-disable-next-line no-underscore-dangle
|
|
144
|
-
assert.equal(fileTranslationsApiFetchCall.args[1].body._streams[4], "{\"fileType\":\"XML\"}");
|
|
146
|
+
assert.equal(fileTranslationsApiFetchCall.args[1].body._streams[4], "{\"fileType\":\"XML\",\"parseConfigItems\":[{\"instruction\":\"entity_escaping_strategy\",\"value\":\"propagade\"},{\"instruction\":\"placeholder_format_custom\",\"value\":\"test\"}]}");
|
|
145
147
|
});
|
|
146
148
|
|
|
147
149
|
it("Translate file", async () => {
|
package/test/files.spec.ts
CHANGED
|
@@ -264,6 +264,7 @@ describe("SmartlingFilesApi class tests.", () => {
|
|
|
264
264
|
.setFileFromLocalFilePath("./test/data/file.xml")
|
|
265
265
|
.setFileUri("test-file-uri")
|
|
266
266
|
.setFileType(FileType.XML)
|
|
267
|
+
.setCallbackUrl("https://callback.url")
|
|
267
268
|
.setDirective("foo", "bar");
|
|
268
269
|
|
|
269
270
|
await filesApi.uploadFile(projectId, params);
|
|
@@ -290,6 +291,10 @@ describe("SmartlingFilesApi class tests.", () => {
|
|
|
290
291
|
"test_user_agent"
|
|
291
292
|
);
|
|
292
293
|
|
|
294
|
+
const stringifiedFormData = JSON.stringify(filesApiFetchStub.getCall(0).args[1].body);
|
|
295
|
+
|
|
296
|
+
assert.ok(stringifiedFormData.includes("Content-Disposition: form-data; name=\\\"callbackUrl\\\"\\r\\n\\r\\n\",\"https://callback.url\""));
|
|
297
|
+
|
|
293
298
|
assert.equal(
|
|
294
299
|
// eslint-disable-next-line no-underscore-dangle
|
|
295
300
|
await streamToString(filesApiFetchStub.getCall(0).args[1].body._streams[1]),
|
|
@@ -310,6 +315,7 @@ describe("SmartlingFilesApi class tests.", () => {
|
|
|
310
315
|
))
|
|
311
316
|
.setFileUri("test-file-uri")
|
|
312
317
|
.setFileType(FileType.XML)
|
|
318
|
+
.setCallbackUrl("https://callback.url")
|
|
313
319
|
.setDirective("foo", "bar");
|
|
314
320
|
|
|
315
321
|
await filesApi.uploadFile(projectId, params);
|
|
@@ -336,6 +342,10 @@ describe("SmartlingFilesApi class tests.", () => {
|
|
|
336
342
|
"test_user_agent"
|
|
337
343
|
);
|
|
338
344
|
|
|
345
|
+
const stringifiedFormData = JSON.stringify(filesApiFetchStub.getCall(0).args[1].body);
|
|
346
|
+
|
|
347
|
+
assert.ok(stringifiedFormData.includes("Content-Disposition: form-data; name=\\\"callbackUrl\\\"\\r\\n\\r\\n\",\"https://callback.url\""));
|
|
348
|
+
|
|
339
349
|
assert.equal(
|
|
340
350
|
// eslint-disable-next-line no-underscore-dangle
|
|
341
351
|
await streamToString(filesApiFetchStub.getCall(0).args[1].body._streams[1]),
|