@uniformdev/tms-sdk 19.154.1-alpha.18 → 19.154.1-alpha.22
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.esm.js +220 -194
- package/dist/index.js +220 -194
- package/dist/index.mjs +220 -194
- package/package.json +4 -3
package/dist/index.esm.js
CHANGED
|
@@ -3,20 +3,207 @@ import {
|
|
|
3
3
|
bindVariables,
|
|
4
4
|
walkNodeTree
|
|
5
5
|
} from "@uniformdev/canvas";
|
|
6
|
+
import { isRichTextValue, isRichTextValueConsideredEmpty as isRichTextValueConsideredEmpty2 } from "@uniformdev/richtext";
|
|
6
7
|
|
|
7
8
|
// src/constants.ts
|
|
8
9
|
var TRANSLATION_PAYLOAD_SOURCE_KEY = "source";
|
|
9
10
|
var TRANSLATION_PAYLOAD_TARGET_KEY = "target";
|
|
10
11
|
var TRANSLATION_PAYLOAD_ORIGINAL_TARGET_KEY = "originalTarget";
|
|
12
|
+
var SUPPORTED_PARAM_TYPES = {
|
|
13
|
+
text: "text",
|
|
14
|
+
richText: "richText"
|
|
15
|
+
};
|
|
11
16
|
|
|
12
|
-
// src/
|
|
17
|
+
// src/translationHelpers.ts
|
|
18
|
+
import { isRichTextValueConsideredEmpty } from "@uniformdev/richtext";
|
|
19
|
+
import { dequal } from "dequal/lite";
|
|
13
20
|
var MERGE_TRANSLATION_ERRORS = {
|
|
14
21
|
unknown: "Unknown error",
|
|
15
22
|
"invalid-args": "Invalid arguments",
|
|
16
|
-
"
|
|
23
|
+
"project-id-mismatch": "Project ID mismatch",
|
|
24
|
+
"entity-id-mismatch": "Enity ID mismatch",
|
|
25
|
+
"entity-locales-mismatch": "Entity does not include required locales"
|
|
17
26
|
};
|
|
18
27
|
var createErrorResult = (errorKind) => {
|
|
19
|
-
return { errorKind, errorText: MERGE_TRANSLATION_ERRORS[errorKind] };
|
|
28
|
+
return { updated: false, errorKind, errorText: MERGE_TRANSLATION_ERRORS[errorKind] };
|
|
29
|
+
};
|
|
30
|
+
var processComponentTranslation = ({
|
|
31
|
+
uniformSourceLocale,
|
|
32
|
+
uniformTargetLocale,
|
|
33
|
+
overrideModifiedTargetLocale,
|
|
34
|
+
originalNode,
|
|
35
|
+
translatedComponent
|
|
36
|
+
}) => {
|
|
37
|
+
var _a, _b;
|
|
38
|
+
let updated = false;
|
|
39
|
+
if (!originalNode.type || !originalNode._id) {
|
|
40
|
+
return { updated };
|
|
41
|
+
}
|
|
42
|
+
const componentParameters = "parameters" in originalNode ? originalNode.parameters : void 0;
|
|
43
|
+
const entryFields = "fields" in originalNode ? originalNode.fields : void 0;
|
|
44
|
+
const originalParametersOrFields = componentParameters != null ? componentParameters : entryFields;
|
|
45
|
+
Object.entries((_a = translatedComponent.parameters) != null ? _a : {}).forEach(([paramKey, parameter]) => {
|
|
46
|
+
const originalParameter = originalParametersOrFields == null ? void 0 : originalParametersOrFields[paramKey];
|
|
47
|
+
if (!originalParameter) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
const result = processParameterTranslation({
|
|
51
|
+
uniformSourceLocale,
|
|
52
|
+
uniformTargetLocale,
|
|
53
|
+
overrideModifiedTargetLocale,
|
|
54
|
+
originalParameter,
|
|
55
|
+
parameter
|
|
56
|
+
});
|
|
57
|
+
if (result.updated) {
|
|
58
|
+
updated = true;
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
Object.entries((_b = translatedComponent._overrides) != null ? _b : {}).forEach(([overrideKey, override]) => {
|
|
62
|
+
var _a2;
|
|
63
|
+
const originalOverride = (_a2 = originalNode._overrides) == null ? void 0 : _a2[overrideKey];
|
|
64
|
+
if (!originalOverride) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
const result = processOverrideTranslation({
|
|
68
|
+
uniformSourceLocale,
|
|
69
|
+
uniformTargetLocale,
|
|
70
|
+
overrideModifiedTargetLocale,
|
|
71
|
+
originalOverride,
|
|
72
|
+
override
|
|
73
|
+
});
|
|
74
|
+
if (result.updated) {
|
|
75
|
+
updated = true;
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
return { updated };
|
|
79
|
+
};
|
|
80
|
+
var processParameterTranslation = ({
|
|
81
|
+
uniformSourceLocale,
|
|
82
|
+
uniformTargetLocale,
|
|
83
|
+
overrideModifiedTargetLocale,
|
|
84
|
+
originalParameter,
|
|
85
|
+
parameter
|
|
86
|
+
}) => {
|
|
87
|
+
var _a, _b, _c;
|
|
88
|
+
if (!originalParameter.locales) {
|
|
89
|
+
return { updated: false };
|
|
90
|
+
}
|
|
91
|
+
if (originalParameter.type !== parameter.type) {
|
|
92
|
+
return { updated: false };
|
|
93
|
+
}
|
|
94
|
+
const sourceValue = (_a = parameter.locales) == null ? void 0 : _a[TRANSLATION_PAYLOAD_SOURCE_KEY];
|
|
95
|
+
const targetValue = (_b = parameter.locales) == null ? void 0 : _b[TRANSLATION_PAYLOAD_TARGET_KEY];
|
|
96
|
+
const originalTargetValue = (_c = parameter.locales) == null ? void 0 : _c[TRANSLATION_PAYLOAD_ORIGINAL_TARGET_KEY];
|
|
97
|
+
const isSourceValueUntouched = isSameParameterValue({
|
|
98
|
+
parameterType: originalParameter.type,
|
|
99
|
+
left: originalParameter.locales[uniformSourceLocale],
|
|
100
|
+
right: sourceValue
|
|
101
|
+
});
|
|
102
|
+
const isTargetValueUntouched = overrideModifiedTargetLocale || isSameParameterValue({
|
|
103
|
+
parameterType: originalParameter.type,
|
|
104
|
+
left: originalParameter.locales[uniformTargetLocale],
|
|
105
|
+
right: originalTargetValue
|
|
106
|
+
});
|
|
107
|
+
if (targetValue && isSourceValueUntouched && isTargetValueUntouched) {
|
|
108
|
+
originalParameter.locales[uniformTargetLocale] = targetValue;
|
|
109
|
+
return { updated: true };
|
|
110
|
+
}
|
|
111
|
+
return { updated: false };
|
|
112
|
+
};
|
|
113
|
+
var processOverrideTranslation = ({
|
|
114
|
+
uniformSourceLocale,
|
|
115
|
+
uniformTargetLocale,
|
|
116
|
+
overrideModifiedTargetLocale,
|
|
117
|
+
originalOverride,
|
|
118
|
+
override
|
|
119
|
+
}) => {
|
|
120
|
+
var _a, _b;
|
|
121
|
+
let updated = false;
|
|
122
|
+
Object.entries((_a = override.parameters) != null ? _a : {}).forEach(([paramKey, parameter]) => {
|
|
123
|
+
var _a2, _b2, _c, _d;
|
|
124
|
+
const originalParameter = (_a2 = originalOverride.parameters) == null ? void 0 : _a2[paramKey];
|
|
125
|
+
if (!originalParameter || !originalParameter.locales) {
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
if (originalParameter.type !== parameter.type) {
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
const sourceValue = (_b2 = parameter.locales) == null ? void 0 : _b2[TRANSLATION_PAYLOAD_SOURCE_KEY];
|
|
132
|
+
const targetValue = (_c = parameter.locales) == null ? void 0 : _c[TRANSLATION_PAYLOAD_TARGET_KEY];
|
|
133
|
+
const originalTargetValue = (_d = parameter.locales) == null ? void 0 : _d[TRANSLATION_PAYLOAD_ORIGINAL_TARGET_KEY];
|
|
134
|
+
const isSourceValueUntouched = isSameParameterValue({
|
|
135
|
+
parameterType: originalParameter.type,
|
|
136
|
+
left: originalParameter.locales[uniformSourceLocale],
|
|
137
|
+
right: sourceValue
|
|
138
|
+
});
|
|
139
|
+
const isTargetValueUntouched = overrideModifiedTargetLocale || isSameParameterValue({
|
|
140
|
+
parameterType: originalParameter.type,
|
|
141
|
+
left: originalParameter.locales[uniformTargetLocale],
|
|
142
|
+
right: originalTargetValue
|
|
143
|
+
});
|
|
144
|
+
if (targetValue && isSourceValueUntouched && isTargetValueUntouched) {
|
|
145
|
+
originalParameter.locales[uniformTargetLocale] = targetValue;
|
|
146
|
+
updated = true;
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
Object.entries((_b = override.slots) != null ? _b : {}).forEach(([slotKey, slotComponents]) => {
|
|
150
|
+
var _a2;
|
|
151
|
+
const originalSlotComponents = (_a2 = originalOverride.slots) == null ? void 0 : _a2[slotKey];
|
|
152
|
+
if (!(originalSlotComponents == null ? void 0 : originalSlotComponents.length)) {
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
slotComponents.forEach((slotComponent) => {
|
|
156
|
+
if (!slotComponent.type || !slotComponent._id) {
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
const originalComponent = originalSlotComponents.find(
|
|
160
|
+
(x) => x._id === slotComponent._id && x.type === slotComponent.type
|
|
161
|
+
);
|
|
162
|
+
if (!originalComponent) {
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
const { updated: isComponentUpdated } = processComponentTranslation({
|
|
166
|
+
uniformSourceLocale,
|
|
167
|
+
uniformTargetLocale,
|
|
168
|
+
overrideModifiedTargetLocale,
|
|
169
|
+
originalNode: originalComponent,
|
|
170
|
+
translatedComponent: slotComponent
|
|
171
|
+
});
|
|
172
|
+
if (isComponentUpdated) {
|
|
173
|
+
updated = true;
|
|
174
|
+
}
|
|
175
|
+
});
|
|
176
|
+
});
|
|
177
|
+
return { updated };
|
|
178
|
+
};
|
|
179
|
+
var isSameParameterValue = ({
|
|
180
|
+
parameterType,
|
|
181
|
+
left,
|
|
182
|
+
right
|
|
183
|
+
}) => {
|
|
184
|
+
switch (parameterType) {
|
|
185
|
+
case SUPPORTED_PARAM_TYPES.text:
|
|
186
|
+
return left === right || !left && !right;
|
|
187
|
+
break;
|
|
188
|
+
case SUPPORTED_PARAM_TYPES.richText:
|
|
189
|
+
if (isRichTextValueConsideredEmpty(left) && isRichTextValueConsideredEmpty(right)) {
|
|
190
|
+
return true;
|
|
191
|
+
}
|
|
192
|
+
return dequal(left, right);
|
|
193
|
+
break;
|
|
194
|
+
default:
|
|
195
|
+
return left === right;
|
|
196
|
+
}
|
|
197
|
+
};
|
|
198
|
+
|
|
199
|
+
// src/collectTranslationPayload.ts
|
|
200
|
+
var MERGE_TRANSLATION_ERRORS2 = {
|
|
201
|
+
unknown: "Unknown error",
|
|
202
|
+
"invalid-args": "Invalid arguments",
|
|
203
|
+
"entity-source-locale-missing": "Entity does not include specified Uniform source locale"
|
|
204
|
+
};
|
|
205
|
+
var createErrorResult2 = (errorKind) => {
|
|
206
|
+
return { errorKind, errorText: MERGE_TRANSLATION_ERRORS2[errorKind] };
|
|
20
207
|
};
|
|
21
208
|
var collectTranslationPayload = ({
|
|
22
209
|
uniformProjectId,
|
|
@@ -29,10 +216,10 @@ var collectTranslationPayload = ({
|
|
|
29
216
|
overrideModifiedTargetLocale
|
|
30
217
|
}) => {
|
|
31
218
|
if (!uniformSourceLocale || !uniformTargetLocale || !targetLang || !entity) {
|
|
32
|
-
return
|
|
219
|
+
return createErrorResult2("invalid-args");
|
|
33
220
|
}
|
|
34
221
|
if (!entity._locales || !entity._locales.includes(uniformSourceLocale)) {
|
|
35
|
-
return
|
|
222
|
+
return createErrorResult2("entity-source-locale-missing");
|
|
36
223
|
}
|
|
37
224
|
const payload = {
|
|
38
225
|
schemaVersion: 1,
|
|
@@ -90,7 +277,7 @@ var collectFromNode = ({
|
|
|
90
277
|
if (!canTranslateParameterValue(param, sourceLocaleValue)) {
|
|
91
278
|
return;
|
|
92
279
|
}
|
|
93
|
-
if (!overrideModifiedTargetLocale && !isTargetLocaleUntouched(sourceLocaleValue, targetLocaleValue)) {
|
|
280
|
+
if (!overrideModifiedTargetLocale && !isTargetLocaleUntouched(param.type, sourceLocaleValue, targetLocaleValue)) {
|
|
94
281
|
return;
|
|
95
282
|
}
|
|
96
283
|
parameters[paramKey] = {
|
|
@@ -111,7 +298,7 @@ var collectFromNode = ({
|
|
|
111
298
|
if (!canTranslateParameterValue(param, sourceLocaleValue)) {
|
|
112
299
|
return;
|
|
113
300
|
}
|
|
114
|
-
if (!overrideModifiedTargetLocale && !isTargetLocaleUntouched(sourceLocaleValue, targetLocaleValue)) {
|
|
301
|
+
if (!overrideModifiedTargetLocale && !isTargetLocaleUntouched(param.type, sourceLocaleValue, targetLocaleValue)) {
|
|
115
302
|
return;
|
|
116
303
|
}
|
|
117
304
|
(_c = overrides[overrideKey]) != null ? _c : overrides[overrideKey] = {};
|
|
@@ -162,7 +349,7 @@ var collectFromNode = ({
|
|
|
162
349
|
};
|
|
163
350
|
};
|
|
164
351
|
var canTranslateParameterValue = (parameter, value) => {
|
|
165
|
-
if (parameter.type ===
|
|
352
|
+
if (parameter.type === SUPPORTED_PARAM_TYPES.text) {
|
|
166
353
|
if (typeof value !== "string" || !value) {
|
|
167
354
|
return false;
|
|
168
355
|
}
|
|
@@ -179,13 +366,26 @@ var canTranslateParameterValue = (parameter, value) => {
|
|
|
179
366
|
return false;
|
|
180
367
|
}
|
|
181
368
|
return true;
|
|
182
|
-
} else if (parameter.type ===
|
|
183
|
-
return
|
|
369
|
+
} else if (parameter.type === SUPPORTED_PARAM_TYPES.richText) {
|
|
370
|
+
return isRichTextValue(value) && !isRichTextValueConsideredEmpty2(value);
|
|
184
371
|
}
|
|
185
372
|
return false;
|
|
186
373
|
};
|
|
187
|
-
var isTargetLocaleUntouched = (sourceLocaleValue, targetLocaleValue) => {
|
|
188
|
-
|
|
374
|
+
var isTargetLocaleUntouched = (parameterType, sourceLocaleValue, targetLocaleValue) => {
|
|
375
|
+
if (targetLocaleValue === void 0 || targetLocaleValue === null) {
|
|
376
|
+
return true;
|
|
377
|
+
}
|
|
378
|
+
if (parameterType === SUPPORTED_PARAM_TYPES.text && !targetLocaleValue) {
|
|
379
|
+
return true;
|
|
380
|
+
}
|
|
381
|
+
if (parameterType === SUPPORTED_PARAM_TYPES.richText && isRichTextValueConsideredEmpty2(targetLocaleValue)) {
|
|
382
|
+
return true;
|
|
383
|
+
}
|
|
384
|
+
return isSameParameterValue({
|
|
385
|
+
parameterType,
|
|
386
|
+
left: sourceLocaleValue,
|
|
387
|
+
right: targetLocaleValue
|
|
388
|
+
});
|
|
189
389
|
};
|
|
190
390
|
|
|
191
391
|
// src/getCompositionForTranslation.ts
|
|
@@ -244,180 +444,6 @@ import { CANVAS_DRAFT_STATE as CANVAS_DRAFT_STATE4 } from "@uniformdev/canvas";
|
|
|
244
444
|
// src/translateComposition.ts
|
|
245
445
|
import { CANVAS_DRAFT_STATE as CANVAS_DRAFT_STATE3, walkNodeTree as walkNodeTree2 } from "@uniformdev/canvas";
|
|
246
446
|
import { produce } from "immer";
|
|
247
|
-
|
|
248
|
-
// src/translationHelpers.ts
|
|
249
|
-
import { dequal } from "dequal/lite";
|
|
250
|
-
var MERGE_TRANSLATION_ERRORS2 = {
|
|
251
|
-
unknown: "Unknown error",
|
|
252
|
-
"invalid-args": "Invalid arguments",
|
|
253
|
-
"project-id-mismatch": "Project ID mismatch",
|
|
254
|
-
"entity-id-mismatch": "Enity ID mismatch",
|
|
255
|
-
"entity-locales-mismatch": "Entity does not include required locales"
|
|
256
|
-
};
|
|
257
|
-
var createErrorResult2 = (errorKind) => {
|
|
258
|
-
return { updated: false, errorKind, errorText: MERGE_TRANSLATION_ERRORS2[errorKind] };
|
|
259
|
-
};
|
|
260
|
-
var processComponentTranslation = ({
|
|
261
|
-
uniformSourceLocale,
|
|
262
|
-
uniformTargetLocale,
|
|
263
|
-
overrideModifiedTargetLocale,
|
|
264
|
-
originalNode,
|
|
265
|
-
translatedComponent
|
|
266
|
-
}) => {
|
|
267
|
-
var _a, _b;
|
|
268
|
-
let updated = false;
|
|
269
|
-
if (!originalNode.type || !originalNode._id) {
|
|
270
|
-
return { updated };
|
|
271
|
-
}
|
|
272
|
-
const componentParameters = "parameters" in originalNode ? originalNode.parameters : void 0;
|
|
273
|
-
const entryFields = "fields" in originalNode ? originalNode.fields : void 0;
|
|
274
|
-
const originalParametersOrFields = componentParameters != null ? componentParameters : entryFields;
|
|
275
|
-
Object.entries((_a = translatedComponent.parameters) != null ? _a : {}).forEach(([paramKey, parameter]) => {
|
|
276
|
-
const originalParameter = originalParametersOrFields == null ? void 0 : originalParametersOrFields[paramKey];
|
|
277
|
-
if (!originalParameter) {
|
|
278
|
-
return;
|
|
279
|
-
}
|
|
280
|
-
const result = processParameterTranslation({
|
|
281
|
-
uniformSourceLocale,
|
|
282
|
-
uniformTargetLocale,
|
|
283
|
-
overrideModifiedTargetLocale,
|
|
284
|
-
originalParameter,
|
|
285
|
-
parameter
|
|
286
|
-
});
|
|
287
|
-
if (result.updated) {
|
|
288
|
-
updated = true;
|
|
289
|
-
}
|
|
290
|
-
});
|
|
291
|
-
Object.entries((_b = translatedComponent._overrides) != null ? _b : {}).forEach(([overrideKey, override]) => {
|
|
292
|
-
var _a2;
|
|
293
|
-
const originalOverride = (_a2 = originalNode._overrides) == null ? void 0 : _a2[overrideKey];
|
|
294
|
-
if (!originalOverride) {
|
|
295
|
-
return;
|
|
296
|
-
}
|
|
297
|
-
const result = processOverrideTranslation({
|
|
298
|
-
uniformSourceLocale,
|
|
299
|
-
uniformTargetLocale,
|
|
300
|
-
overrideModifiedTargetLocale,
|
|
301
|
-
originalOverride,
|
|
302
|
-
override
|
|
303
|
-
});
|
|
304
|
-
if (result.updated) {
|
|
305
|
-
updated = true;
|
|
306
|
-
}
|
|
307
|
-
});
|
|
308
|
-
return { updated };
|
|
309
|
-
};
|
|
310
|
-
var processParameterTranslation = ({
|
|
311
|
-
uniformSourceLocale,
|
|
312
|
-
uniformTargetLocale,
|
|
313
|
-
overrideModifiedTargetLocale,
|
|
314
|
-
originalParameter,
|
|
315
|
-
parameter
|
|
316
|
-
}) => {
|
|
317
|
-
var _a, _b, _c;
|
|
318
|
-
if (!originalParameter.locales) {
|
|
319
|
-
return { updated: false };
|
|
320
|
-
}
|
|
321
|
-
const sourceValue = (_a = parameter.locales) == null ? void 0 : _a[TRANSLATION_PAYLOAD_SOURCE_KEY];
|
|
322
|
-
const targetValue = (_b = parameter.locales) == null ? void 0 : _b[TRANSLATION_PAYLOAD_TARGET_KEY];
|
|
323
|
-
const originalTargetValue = (_c = parameter.locales) == null ? void 0 : _c[TRANSLATION_PAYLOAD_ORIGINAL_TARGET_KEY];
|
|
324
|
-
const isSourceValueUntouched = isSameParameterValue({
|
|
325
|
-
parameterType: originalParameter.type,
|
|
326
|
-
originalValue: originalParameter.locales[uniformSourceLocale],
|
|
327
|
-
value: sourceValue
|
|
328
|
-
});
|
|
329
|
-
const isTargetValueUntouched = overrideModifiedTargetLocale || isSameParameterValue({
|
|
330
|
-
parameterType: originalParameter.type,
|
|
331
|
-
originalValue: originalParameter.locales[uniformTargetLocale],
|
|
332
|
-
value: originalTargetValue
|
|
333
|
-
});
|
|
334
|
-
if (targetValue && isSourceValueUntouched && isTargetValueUntouched) {
|
|
335
|
-
originalParameter.locales[uniformTargetLocale] = targetValue;
|
|
336
|
-
return { updated: true };
|
|
337
|
-
}
|
|
338
|
-
return { updated: false };
|
|
339
|
-
};
|
|
340
|
-
var processOverrideTranslation = ({
|
|
341
|
-
uniformSourceLocale,
|
|
342
|
-
uniformTargetLocale,
|
|
343
|
-
overrideModifiedTargetLocale,
|
|
344
|
-
originalOverride,
|
|
345
|
-
override
|
|
346
|
-
}) => {
|
|
347
|
-
var _a, _b;
|
|
348
|
-
let updated = false;
|
|
349
|
-
Object.entries((_a = override.parameters) != null ? _a : {}).forEach(([paramKey, parameter]) => {
|
|
350
|
-
var _a2, _b2, _c, _d;
|
|
351
|
-
const originalParameter = (_a2 = originalOverride.parameters) == null ? void 0 : _a2[paramKey];
|
|
352
|
-
if (!originalParameter || !originalParameter.locales) {
|
|
353
|
-
return;
|
|
354
|
-
}
|
|
355
|
-
const sourceValue = (_b2 = parameter.locales) == null ? void 0 : _b2[TRANSLATION_PAYLOAD_SOURCE_KEY];
|
|
356
|
-
const targetValue = (_c = parameter.locales) == null ? void 0 : _c[TRANSLATION_PAYLOAD_TARGET_KEY];
|
|
357
|
-
const originalTargetValue = (_d = parameter.locales) == null ? void 0 : _d[TRANSLATION_PAYLOAD_ORIGINAL_TARGET_KEY];
|
|
358
|
-
const isSourceValueUntouched = isSameParameterValue({
|
|
359
|
-
parameterType: originalParameter.type,
|
|
360
|
-
originalValue: originalParameter.locales[uniformSourceLocale],
|
|
361
|
-
value: sourceValue
|
|
362
|
-
});
|
|
363
|
-
const isTargetValueUntouched = overrideModifiedTargetLocale || isSameParameterValue({
|
|
364
|
-
parameterType: originalParameter.type,
|
|
365
|
-
originalValue: originalParameter.locales[uniformTargetLocale],
|
|
366
|
-
value: originalTargetValue
|
|
367
|
-
});
|
|
368
|
-
if (targetValue && isSourceValueUntouched && isTargetValueUntouched) {
|
|
369
|
-
originalParameter.locales[uniformTargetLocale] = targetValue;
|
|
370
|
-
updated = true;
|
|
371
|
-
}
|
|
372
|
-
});
|
|
373
|
-
Object.entries((_b = override.slots) != null ? _b : {}).forEach(([slotKey, slotComponents]) => {
|
|
374
|
-
var _a2;
|
|
375
|
-
const originalSlotComponents = (_a2 = originalOverride.slots) == null ? void 0 : _a2[slotKey];
|
|
376
|
-
if (!(originalSlotComponents == null ? void 0 : originalSlotComponents.length)) {
|
|
377
|
-
return;
|
|
378
|
-
}
|
|
379
|
-
slotComponents.forEach((slotComponent) => {
|
|
380
|
-
if (!slotComponent.type || !slotComponent._id) {
|
|
381
|
-
return;
|
|
382
|
-
}
|
|
383
|
-
const originalComponent = originalSlotComponents.find(
|
|
384
|
-
(x) => x._id === slotComponent._id && x.type === slotComponent.type
|
|
385
|
-
);
|
|
386
|
-
if (!originalComponent) {
|
|
387
|
-
return;
|
|
388
|
-
}
|
|
389
|
-
const { updated: isComponentUpdated } = processComponentTranslation({
|
|
390
|
-
uniformSourceLocale,
|
|
391
|
-
uniformTargetLocale,
|
|
392
|
-
overrideModifiedTargetLocale,
|
|
393
|
-
originalNode: originalComponent,
|
|
394
|
-
translatedComponent: slotComponent
|
|
395
|
-
});
|
|
396
|
-
if (isComponentUpdated) {
|
|
397
|
-
updated = true;
|
|
398
|
-
}
|
|
399
|
-
});
|
|
400
|
-
});
|
|
401
|
-
return { updated };
|
|
402
|
-
};
|
|
403
|
-
var isSameParameterValue = ({
|
|
404
|
-
parameterType,
|
|
405
|
-
originalValue,
|
|
406
|
-
value
|
|
407
|
-
}) => {
|
|
408
|
-
switch (parameterType) {
|
|
409
|
-
case "text":
|
|
410
|
-
return originalValue === value || !originalValue && !value;
|
|
411
|
-
break;
|
|
412
|
-
case "richText":
|
|
413
|
-
return dequal(originalValue, value);
|
|
414
|
-
break;
|
|
415
|
-
default:
|
|
416
|
-
return originalValue === value;
|
|
417
|
-
}
|
|
418
|
-
};
|
|
419
|
-
|
|
420
|
-
// src/translateComposition.ts
|
|
421
447
|
var translateComposition = ({
|
|
422
448
|
composition,
|
|
423
449
|
translationPayload,
|
|
@@ -425,19 +451,19 @@ var translateComposition = ({
|
|
|
425
451
|
}) => {
|
|
426
452
|
var _a;
|
|
427
453
|
if (!composition || !composition.composition || !translationPayload) {
|
|
428
|
-
return
|
|
454
|
+
return createErrorResult("invalid-args");
|
|
429
455
|
}
|
|
430
456
|
if (composition.projectId !== translationPayload.metadata.uniformProjectId) {
|
|
431
|
-
return
|
|
457
|
+
return createErrorResult("project-id-mismatch");
|
|
432
458
|
}
|
|
433
459
|
if (composition.composition._id !== translationPayload.metadata.entity.id) {
|
|
434
|
-
return
|
|
460
|
+
return createErrorResult("entity-id-mismatch");
|
|
435
461
|
}
|
|
436
462
|
const compositionLocales = (_a = composition.composition._locales) != null ? _a : [];
|
|
437
463
|
const uniformSourceLocale = translationPayload.metadata.uniformSourceLocale;
|
|
438
464
|
const uniformTargetLocale = translationPayload.metadata.uniformTargetLocale;
|
|
439
465
|
if (!compositionLocales.includes(uniformSourceLocale)) {
|
|
440
|
-
return
|
|
466
|
+
return createErrorResult("entity-locales-mismatch");
|
|
441
467
|
}
|
|
442
468
|
let updated = false;
|
|
443
469
|
const translatedComposition = produce(composition, (draft) => {
|
|
@@ -555,19 +581,19 @@ var translateEntry = ({
|
|
|
555
581
|
}) => {
|
|
556
582
|
var _a;
|
|
557
583
|
if (!entry || !translationPayload) {
|
|
558
|
-
return
|
|
584
|
+
return createErrorResult("invalid-args");
|
|
559
585
|
}
|
|
560
586
|
if (entry.projectId !== translationPayload.metadata.uniformProjectId) {
|
|
561
|
-
return
|
|
587
|
+
return createErrorResult("project-id-mismatch");
|
|
562
588
|
}
|
|
563
589
|
if ((entry == null ? void 0 : entry.entry._id) !== translationPayload.metadata.entity.id) {
|
|
564
|
-
return
|
|
590
|
+
return createErrorResult("entity-id-mismatch");
|
|
565
591
|
}
|
|
566
592
|
const entryLocales = (_a = entry.entry._locales) != null ? _a : [];
|
|
567
593
|
const uniformSourceLocale = translationPayload.metadata.uniformSourceLocale;
|
|
568
594
|
const uniformTargetLocale = translationPayload.metadata.uniformTargetLocale;
|
|
569
595
|
if (!entryLocales.includes(uniformSourceLocale)) {
|
|
570
|
-
return
|
|
596
|
+
return createErrorResult("entity-locales-mismatch");
|
|
571
597
|
}
|
|
572
598
|
let updated = false;
|
|
573
599
|
const translatedEntry = produce2(entry, (draft) => {
|