@uniformdev/tms-sdk 19.153.1-alpha.7 → 19.154.1-alpha.13

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.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { ComponentInstance, RootComponentInstance, EntryData, CanvasClient, CompositionGetResponse, ContentClient, Entry } from '@uniformdev/canvas';
1
+ import { ComponentInstance, RootComponentInstance, EntryData, CanvasClient, ContentClient, CompositionGetResponse, Entry } from '@uniformdev/canvas';
2
2
 
3
3
  type ComponentTranslationPayload = Pick<ComponentInstance, 'type' | 'parameters' | '_overrides'>;
4
4
  type TranslationPayload = {
@@ -9,7 +9,7 @@ type TranslationPayload = {
9
9
  uniformTargetLocale: string;
10
10
  uniformReleaseId?: string;
11
11
  targetLang: string;
12
- entityType: 'composition' | 'entry';
12
+ entityType: 'composition' | 'componentPattern' | 'compositionDefaults' | 'entry' | 'entryPattern' | 'asset';
13
13
  entity: {
14
14
  id: string;
15
15
  slug: string | null | undefined;
@@ -41,53 +41,57 @@ declare const collectTranslationPayload: ({ uniformProjectId, uniformSourceLocal
41
41
  uniformReleaseId: string | undefined;
42
42
  targetLang: string;
43
43
  entity: RootComponentInstance | EntryData;
44
- entityType: 'composition' | 'entry';
44
+ entityType: TranslationPayload['metadata']['entityType'];
45
45
  /**
46
46
  * Ignore modified content in target locales and collect all supported parameters for translation
47
47
  */
48
48
  overrideModifiedTargetLocale: boolean;
49
49
  }) => CollectTranslationPayloadResult;
50
50
 
51
- type Options$1 = {
51
+ type MergeCompositionTranslationToUniformOptions = {
52
52
  canvasClient: CanvasClient;
53
53
  translationPayload: TranslationPayload;
54
- getCurrentComposition?: (args: {
55
- canvasClient: CanvasClient;
56
- translationPayload: TranslationPayload;
57
- }) => MaybePromise<CompositionGetResponse | undefined>;
58
54
  updateComposition?: (args: {
59
55
  canvasClient: CanvasClient;
60
56
  translationPayload: TranslationPayload;
61
57
  composition: Parameters<CanvasClient['updateComposition']>[0];
62
58
  }) => MaybePromise<boolean>;
63
- onMissingCurrent?: (args: {
59
+ onNotFound?: (args: {
64
60
  translationPayload: TranslationPayload;
65
61
  }) => MaybePromise<void>;
66
- onTranslationResult?: (result: EntityTranslationResult<CompositionGetResponse>) => MaybePromise<EntityTranslationResult<CompositionGetResponse>>;
62
+ onNotTranslatedResult?: (status: Pick<EntityTranslationResult, 'updated' | 'errorKind' | 'errorText'>) => MaybePromise<void>;
67
63
  };
68
- declare const mergeCompositionTranslationToUniform: ({ canvasClient, translationPayload, getCurrentComposition, updateComposition, onMissingCurrent, onTranslationResult, }: Options$1) => Promise<{
64
+ declare const mergeCompositionTranslationToUniform: ({ canvasClient, translationPayload, updateComposition, onNotFound, onNotTranslatedResult, }: MergeCompositionTranslationToUniformOptions) => Promise<{
69
65
  translationMerged: boolean;
70
66
  entityId?: string | undefined;
71
67
  }>;
72
68
 
73
- type Options = {
69
+ type MergeEntryTranslationToUniformOptions = {
74
70
  contentClient: ContentClient;
75
71
  translationPayload: TranslationPayload;
76
- getCurrentEntry?: (args: {
77
- contentClient: ContentClient;
78
- translationPayload: TranslationPayload;
79
- }) => MaybePromise<Entry | undefined>;
80
72
  updateEntry?: (args: {
81
73
  contentClient: ContentClient;
82
74
  translationPayload: TranslationPayload;
83
75
  entry: Parameters<ContentClient['upsertEntry']>[0];
84
76
  }) => MaybePromise<boolean>;
85
- onMissingCurrent?: (args: {
77
+ onNotFound?: (args: {
86
78
  translationPayload: TranslationPayload;
87
79
  }) => MaybePromise<void>;
88
- onTranslationResult?: (result: EntityTranslationResult<Entry>) => MaybePromise<EntityTranslationResult<Entry>>;
80
+ onNotTranslatedResult?: (status: Pick<EntityTranslationResult, 'updated' | 'errorKind' | 'errorText'>) => MaybePromise<void>;
89
81
  };
90
- declare const mergeEntryTranslationToUniform: ({ contentClient, translationPayload, getCurrentEntry, onMissingCurrent, onTranslationResult, updateEntry, }: Options) => Promise<{
82
+ declare const mergeEntryTranslationToUniform: ({ contentClient, translationPayload, updateEntry, onNotFound, onNotTranslatedResult, }: MergeEntryTranslationToUniformOptions) => Promise<{
83
+ translationMerged: boolean;
84
+ entityId?: string | undefined;
85
+ }>;
86
+
87
+ type MergeTranslationToUniformOptions = {
88
+ translationPayload: TranslationPayload;
89
+ onNotFound?: (args: {
90
+ translationPayload: TranslationPayload;
91
+ }) => MaybePromise<void>;
92
+ onNotTranslatedResult?: (status: Pick<EntityTranslationResult, 'updated' | 'errorKind' | 'errorText'>) => MaybePromise<void>;
93
+ } & Pick<MergeEntryTranslationToUniformOptions, 'contentClient' | 'updateEntry'> & Pick<MergeCompositionTranslationToUniformOptions, 'canvasClient' | 'updateComposition'>;
94
+ declare const mergeTranslationToUniform: ({ canvasClient, contentClient, translationPayload, updateComposition, updateEntry, onNotFound, onNotTranslatedResult, }: MergeTranslationToUniformOptions) => Promise<{
91
95
  translationMerged: boolean;
92
96
  entityId?: string | undefined;
93
97
  }>;
@@ -104,4 +108,4 @@ declare const translateEntry: ({ entry, translationPayload, overrideModifiedTarg
104
108
  overrideModifiedTargetLocale: boolean;
105
109
  }) => EntityTranslationResult<Entry>;
106
110
 
107
- export { type CollectTranslationPayloadResult, type ComponentTranslationPayload, type EntityTranslationResult, type MaybePromise, type TranslationPayload, collectTranslationPayload, mergeCompositionTranslationToUniform, mergeEntryTranslationToUniform, translateComposition, translateEntry };
111
+ export { type CollectTranslationPayloadResult, type ComponentTranslationPayload, type EntityTranslationResult, type MaybePromise, type MergeCompositionTranslationToUniformOptions, type MergeEntryTranslationToUniformOptions, type MergeTranslationToUniformOptions, type TranslationPayload, collectTranslationPayload, mergeCompositionTranslationToUniform, mergeEntryTranslationToUniform, mergeTranslationToUniform, translateComposition, translateEntry };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { ComponentInstance, RootComponentInstance, EntryData, CanvasClient, CompositionGetResponse, ContentClient, Entry } from '@uniformdev/canvas';
1
+ import { ComponentInstance, RootComponentInstance, EntryData, CanvasClient, ContentClient, CompositionGetResponse, Entry } from '@uniformdev/canvas';
2
2
 
3
3
  type ComponentTranslationPayload = Pick<ComponentInstance, 'type' | 'parameters' | '_overrides'>;
4
4
  type TranslationPayload = {
@@ -9,7 +9,7 @@ type TranslationPayload = {
9
9
  uniformTargetLocale: string;
10
10
  uniformReleaseId?: string;
11
11
  targetLang: string;
12
- entityType: 'composition' | 'entry';
12
+ entityType: 'composition' | 'componentPattern' | 'compositionDefaults' | 'entry' | 'entryPattern' | 'asset';
13
13
  entity: {
14
14
  id: string;
15
15
  slug: string | null | undefined;
@@ -41,53 +41,57 @@ declare const collectTranslationPayload: ({ uniformProjectId, uniformSourceLocal
41
41
  uniformReleaseId: string | undefined;
42
42
  targetLang: string;
43
43
  entity: RootComponentInstance | EntryData;
44
- entityType: 'composition' | 'entry';
44
+ entityType: TranslationPayload['metadata']['entityType'];
45
45
  /**
46
46
  * Ignore modified content in target locales and collect all supported parameters for translation
47
47
  */
48
48
  overrideModifiedTargetLocale: boolean;
49
49
  }) => CollectTranslationPayloadResult;
50
50
 
51
- type Options$1 = {
51
+ type MergeCompositionTranslationToUniformOptions = {
52
52
  canvasClient: CanvasClient;
53
53
  translationPayload: TranslationPayload;
54
- getCurrentComposition?: (args: {
55
- canvasClient: CanvasClient;
56
- translationPayload: TranslationPayload;
57
- }) => MaybePromise<CompositionGetResponse | undefined>;
58
54
  updateComposition?: (args: {
59
55
  canvasClient: CanvasClient;
60
56
  translationPayload: TranslationPayload;
61
57
  composition: Parameters<CanvasClient['updateComposition']>[0];
62
58
  }) => MaybePromise<boolean>;
63
- onMissingCurrent?: (args: {
59
+ onNotFound?: (args: {
64
60
  translationPayload: TranslationPayload;
65
61
  }) => MaybePromise<void>;
66
- onTranslationResult?: (result: EntityTranslationResult<CompositionGetResponse>) => MaybePromise<EntityTranslationResult<CompositionGetResponse>>;
62
+ onNotTranslatedResult?: (status: Pick<EntityTranslationResult, 'updated' | 'errorKind' | 'errorText'>) => MaybePromise<void>;
67
63
  };
68
- declare const mergeCompositionTranslationToUniform: ({ canvasClient, translationPayload, getCurrentComposition, updateComposition, onMissingCurrent, onTranslationResult, }: Options$1) => Promise<{
64
+ declare const mergeCompositionTranslationToUniform: ({ canvasClient, translationPayload, updateComposition, onNotFound, onNotTranslatedResult, }: MergeCompositionTranslationToUniformOptions) => Promise<{
69
65
  translationMerged: boolean;
70
66
  entityId?: string | undefined;
71
67
  }>;
72
68
 
73
- type Options = {
69
+ type MergeEntryTranslationToUniformOptions = {
74
70
  contentClient: ContentClient;
75
71
  translationPayload: TranslationPayload;
76
- getCurrentEntry?: (args: {
77
- contentClient: ContentClient;
78
- translationPayload: TranslationPayload;
79
- }) => MaybePromise<Entry | undefined>;
80
72
  updateEntry?: (args: {
81
73
  contentClient: ContentClient;
82
74
  translationPayload: TranslationPayload;
83
75
  entry: Parameters<ContentClient['upsertEntry']>[0];
84
76
  }) => MaybePromise<boolean>;
85
- onMissingCurrent?: (args: {
77
+ onNotFound?: (args: {
86
78
  translationPayload: TranslationPayload;
87
79
  }) => MaybePromise<void>;
88
- onTranslationResult?: (result: EntityTranslationResult<Entry>) => MaybePromise<EntityTranslationResult<Entry>>;
80
+ onNotTranslatedResult?: (status: Pick<EntityTranslationResult, 'updated' | 'errorKind' | 'errorText'>) => MaybePromise<void>;
89
81
  };
90
- declare const mergeEntryTranslationToUniform: ({ contentClient, translationPayload, getCurrentEntry, onMissingCurrent, onTranslationResult, updateEntry, }: Options) => Promise<{
82
+ declare const mergeEntryTranslationToUniform: ({ contentClient, translationPayload, updateEntry, onNotFound, onNotTranslatedResult, }: MergeEntryTranslationToUniformOptions) => Promise<{
83
+ translationMerged: boolean;
84
+ entityId?: string | undefined;
85
+ }>;
86
+
87
+ type MergeTranslationToUniformOptions = {
88
+ translationPayload: TranslationPayload;
89
+ onNotFound?: (args: {
90
+ translationPayload: TranslationPayload;
91
+ }) => MaybePromise<void>;
92
+ onNotTranslatedResult?: (status: Pick<EntityTranslationResult, 'updated' | 'errorKind' | 'errorText'>) => MaybePromise<void>;
93
+ } & Pick<MergeEntryTranslationToUniformOptions, 'contentClient' | 'updateEntry'> & Pick<MergeCompositionTranslationToUniformOptions, 'canvasClient' | 'updateComposition'>;
94
+ declare const mergeTranslationToUniform: ({ canvasClient, contentClient, translationPayload, updateComposition, updateEntry, onNotFound, onNotTranslatedResult, }: MergeTranslationToUniformOptions) => Promise<{
91
95
  translationMerged: boolean;
92
96
  entityId?: string | undefined;
93
97
  }>;
@@ -104,4 +108,4 @@ declare const translateEntry: ({ entry, translationPayload, overrideModifiedTarg
104
108
  overrideModifiedTargetLocale: boolean;
105
109
  }) => EntityTranslationResult<Entry>;
106
110
 
107
- export { type CollectTranslationPayloadResult, type ComponentTranslationPayload, type EntityTranslationResult, type MaybePromise, type TranslationPayload, collectTranslationPayload, mergeCompositionTranslationToUniform, mergeEntryTranslationToUniform, translateComposition, translateEntry };
111
+ export { type CollectTranslationPayloadResult, type ComponentTranslationPayload, type EntityTranslationResult, type MaybePromise, type MergeCompositionTranslationToUniformOptions, type MergeEntryTranslationToUniformOptions, type MergeTranslationToUniformOptions, type TranslationPayload, collectTranslationPayload, mergeCompositionTranslationToUniform, mergeEntryTranslationToUniform, mergeTranslationToUniform, translateComposition, translateEntry };
package/dist/index.esm.js CHANGED
@@ -330,17 +330,17 @@ var translateComposition = ({
330
330
  var mergeCompositionTranslationToUniform = async ({
331
331
  canvasClient,
332
332
  translationPayload,
333
- getCurrentComposition = defaultGetCurrentComposition,
334
333
  updateComposition = defaultUpdateComposition,
335
- onMissingCurrent,
336
- onTranslationResult
334
+ onNotFound,
335
+ onNotTranslatedResult
337
336
  }) => {
338
337
  if (!translationPayload) {
339
338
  return { translationMerged: false };
340
339
  }
340
+ const entityType = translationPayload.metadata.entityType;
341
341
  const entityId = translationPayload.metadata.entity.id;
342
342
  const overrideModifiedTargetLocale = translationPayload.metadata.overrideModifiedTargetLocale;
343
- if ((translationPayload == null ? void 0 : translationPayload.metadata.entityType) !== "composition") {
343
+ if (entityType !== "composition" && entityType !== "componentPattern") {
344
344
  return { translationMerged: false, entityId };
345
345
  }
346
346
  const composition = await getCurrentComposition({
@@ -348,20 +348,17 @@ var mergeCompositionTranslationToUniform = async ({
348
348
  translationPayload
349
349
  });
350
350
  if (!composition) {
351
- await (onMissingCurrent == null ? void 0 : onMissingCurrent({
351
+ await (onNotFound == null ? void 0 : onNotFound({
352
352
  translationPayload
353
353
  }));
354
354
  return { translationMerged: false, entityId };
355
355
  }
356
- let translationResult = translateComposition({
356
+ const translationResult = translateComposition({
357
357
  composition,
358
358
  translationPayload,
359
359
  overrideModifiedTargetLocale
360
360
  });
361
- if (onTranslationResult) {
362
- translationResult = await onTranslationResult(translationResult);
363
- }
364
- const { updated, errorKind, result: translatedComposition } = translationResult;
361
+ const { updated, errorKind, errorText, result: translatedComposition } = translationResult;
365
362
  if (translatedComposition && updated && !errorKind) {
366
363
  const translationMerged = await updateComposition({
367
364
  canvasClient,
@@ -369,10 +366,12 @@ var mergeCompositionTranslationToUniform = async ({
369
366
  composition: translatedComposition
370
367
  });
371
368
  return { translationMerged, entityId };
369
+ } else {
370
+ await (onNotTranslatedResult == null ? void 0 : onNotTranslatedResult({ updated, errorKind, errorText }));
371
+ return { translationMerged: false, entityId };
372
372
  }
373
- return { translationMerged: false, entityId };
374
373
  };
375
- var defaultGetCurrentComposition = async ({
374
+ var getCurrentComposition = async ({
376
375
  canvasClient,
377
376
  translationPayload
378
377
  }) => {
@@ -489,17 +488,17 @@ var translateEntry = ({
489
488
  var mergeEntryTranslationToUniform = async ({
490
489
  contentClient,
491
490
  translationPayload,
492
- getCurrentEntry = defaultGetCurrentEntry,
493
- onMissingCurrent,
494
- onTranslationResult,
495
- updateEntry = defaultUpdateEntry
491
+ updateEntry = defaultUpdateEntry,
492
+ onNotFound,
493
+ onNotTranslatedResult
496
494
  }) => {
497
495
  if (!translationPayload) {
498
496
  return { translationMerged: false };
499
497
  }
498
+ const entityType = translationPayload.metadata.entityType;
500
499
  const entityId = translationPayload.metadata.entity.id;
501
500
  const overrideModifiedTargetLocale = translationPayload.metadata.overrideModifiedTargetLocale;
502
- if ((translationPayload == null ? void 0 : translationPayload.metadata.entityType) !== "entry") {
501
+ if (entityType !== "entry" && entityType !== "entryPattern") {
503
502
  return { translationMerged: false, entityId };
504
503
  }
505
504
  const entry = await getCurrentEntry({
@@ -507,20 +506,17 @@ var mergeEntryTranslationToUniform = async ({
507
506
  translationPayload
508
507
  });
509
508
  if (!entry) {
510
- await (onMissingCurrent == null ? void 0 : onMissingCurrent({
509
+ await (onNotFound == null ? void 0 : onNotFound({
511
510
  translationPayload
512
511
  }));
513
512
  return { translationMerged: false, entityId };
514
513
  }
515
- let translationResult = translateEntry({
514
+ const translationResult = translateEntry({
516
515
  entry,
517
516
  translationPayload,
518
517
  overrideModifiedTargetLocale
519
518
  });
520
- if (onTranslationResult) {
521
- translationResult = await onTranslationResult(translationResult);
522
- }
523
- const { updated, errorKind, result: translatedEntry } = translationResult;
519
+ const { updated, errorKind, errorText, result: translatedEntry } = translationResult;
524
520
  if (translatedEntry && updated && !errorKind) {
525
521
  const translationMerged = await updateEntry({
526
522
  contentClient,
@@ -528,13 +524,16 @@ var mergeEntryTranslationToUniform = async ({
528
524
  entry: translatedEntry
529
525
  });
530
526
  return { translationMerged, entityId };
527
+ } else {
528
+ await (onNotTranslatedResult == null ? void 0 : onNotTranslatedResult({ updated, errorKind, errorText }));
529
+ return { translationMerged: false, entityId };
531
530
  }
532
- return { translationMerged: false, entityId };
533
531
  };
534
- var defaultGetCurrentEntry = async ({
532
+ var getCurrentEntry = async ({
535
533
  contentClient,
536
534
  translationPayload
537
535
  }) => {
536
+ const entityType = translationPayload.metadata.entityType;
538
537
  const entryId = translationPayload.metadata.entity.id;
539
538
  const releaseId = translationPayload.metadata.uniformReleaseId;
540
539
  const entriesResponse = await contentClient.getEntries({
@@ -545,7 +544,8 @@ var defaultGetCurrentEntry = async ({
545
544
  skipDataResolution: true,
546
545
  skipOverridesResolution: true,
547
546
  skipPatternResolution: true,
548
- state: CANVAS_DRAFT_STATE4
547
+ state: CANVAS_DRAFT_STATE4,
548
+ pattern: entityType === "entryPattern"
549
549
  });
550
550
  const currentEntry = entriesResponse.entries.at(0);
551
551
  return currentEntry ? currentEntry : void 0;
@@ -557,10 +557,46 @@ var defaultUpdateEntry = async ({
557
557
  await contentClient.upsertEntry(entry);
558
558
  return true;
559
559
  };
560
+
561
+ // src/mergeTranslationToUniform.ts
562
+ var mergeTranslationToUniform = async ({
563
+ canvasClient,
564
+ contentClient,
565
+ translationPayload,
566
+ updateComposition,
567
+ updateEntry,
568
+ onNotFound,
569
+ onNotTranslatedResult
570
+ }) => {
571
+ if (!translationPayload) {
572
+ return { translationMerged: false };
573
+ }
574
+ const entityType = translationPayload.metadata.entityType;
575
+ const entityId = translationPayload.metadata.entity.id;
576
+ if (entityType === "composition" || entityType === "componentPattern") {
577
+ return await mergeCompositionTranslationToUniform({
578
+ canvasClient,
579
+ translationPayload,
580
+ updateComposition,
581
+ onNotFound,
582
+ onNotTranslatedResult
583
+ });
584
+ } else if (entityType === "entry" || entityType === "entryPattern") {
585
+ return await mergeEntryTranslationToUniform({
586
+ contentClient,
587
+ translationPayload,
588
+ updateEntry,
589
+ onNotFound,
590
+ onNotTranslatedResult
591
+ });
592
+ }
593
+ return { translationMerged: false, entityId };
594
+ };
560
595
  export {
561
596
  collectTranslationPayload,
562
597
  mergeCompositionTranslationToUniform,
563
598
  mergeEntryTranslationToUniform,
599
+ mergeTranslationToUniform,
564
600
  translateComposition,
565
601
  translateEntry
566
602
  };
package/dist/index.js CHANGED
@@ -23,6 +23,7 @@ __export(src_exports, {
23
23
  collectTranslationPayload: () => collectTranslationPayload,
24
24
  mergeCompositionTranslationToUniform: () => mergeCompositionTranslationToUniform,
25
25
  mergeEntryTranslationToUniform: () => mergeEntryTranslationToUniform,
26
+ mergeTranslationToUniform: () => mergeTranslationToUniform,
26
27
  translateComposition: () => translateComposition,
27
28
  translateEntry: () => translateEntry
28
29
  });
@@ -357,17 +358,17 @@ var translateComposition = ({
357
358
  var mergeCompositionTranslationToUniform = async ({
358
359
  canvasClient,
359
360
  translationPayload,
360
- getCurrentComposition = defaultGetCurrentComposition,
361
361
  updateComposition = defaultUpdateComposition,
362
- onMissingCurrent,
363
- onTranslationResult
362
+ onNotFound,
363
+ onNotTranslatedResult
364
364
  }) => {
365
365
  if (!translationPayload) {
366
366
  return { translationMerged: false };
367
367
  }
368
+ const entityType = translationPayload.metadata.entityType;
368
369
  const entityId = translationPayload.metadata.entity.id;
369
370
  const overrideModifiedTargetLocale = translationPayload.metadata.overrideModifiedTargetLocale;
370
- if ((translationPayload == null ? void 0 : translationPayload.metadata.entityType) !== "composition") {
371
+ if (entityType !== "composition" && entityType !== "componentPattern") {
371
372
  return { translationMerged: false, entityId };
372
373
  }
373
374
  const composition = await getCurrentComposition({
@@ -375,20 +376,17 @@ var mergeCompositionTranslationToUniform = async ({
375
376
  translationPayload
376
377
  });
377
378
  if (!composition) {
378
- await (onMissingCurrent == null ? void 0 : onMissingCurrent({
379
+ await (onNotFound == null ? void 0 : onNotFound({
379
380
  translationPayload
380
381
  }));
381
382
  return { translationMerged: false, entityId };
382
383
  }
383
- let translationResult = translateComposition({
384
+ const translationResult = translateComposition({
384
385
  composition,
385
386
  translationPayload,
386
387
  overrideModifiedTargetLocale
387
388
  });
388
- if (onTranslationResult) {
389
- translationResult = await onTranslationResult(translationResult);
390
- }
391
- const { updated, errorKind, result: translatedComposition } = translationResult;
389
+ const { updated, errorKind, errorText, result: translatedComposition } = translationResult;
392
390
  if (translatedComposition && updated && !errorKind) {
393
391
  const translationMerged = await updateComposition({
394
392
  canvasClient,
@@ -396,10 +394,12 @@ var mergeCompositionTranslationToUniform = async ({
396
394
  composition: translatedComposition
397
395
  });
398
396
  return { translationMerged, entityId };
397
+ } else {
398
+ await (onNotTranslatedResult == null ? void 0 : onNotTranslatedResult({ updated, errorKind, errorText }));
399
+ return { translationMerged: false, entityId };
399
400
  }
400
- return { translationMerged: false, entityId };
401
401
  };
402
- var defaultGetCurrentComposition = async ({
402
+ var getCurrentComposition = async ({
403
403
  canvasClient,
404
404
  translationPayload
405
405
  }) => {
@@ -516,17 +516,17 @@ var translateEntry = ({
516
516
  var mergeEntryTranslationToUniform = async ({
517
517
  contentClient,
518
518
  translationPayload,
519
- getCurrentEntry = defaultGetCurrentEntry,
520
- onMissingCurrent,
521
- onTranslationResult,
522
- updateEntry = defaultUpdateEntry
519
+ updateEntry = defaultUpdateEntry,
520
+ onNotFound,
521
+ onNotTranslatedResult
523
522
  }) => {
524
523
  if (!translationPayload) {
525
524
  return { translationMerged: false };
526
525
  }
526
+ const entityType = translationPayload.metadata.entityType;
527
527
  const entityId = translationPayload.metadata.entity.id;
528
528
  const overrideModifiedTargetLocale = translationPayload.metadata.overrideModifiedTargetLocale;
529
- if ((translationPayload == null ? void 0 : translationPayload.metadata.entityType) !== "entry") {
529
+ if (entityType !== "entry" && entityType !== "entryPattern") {
530
530
  return { translationMerged: false, entityId };
531
531
  }
532
532
  const entry = await getCurrentEntry({
@@ -534,20 +534,17 @@ var mergeEntryTranslationToUniform = async ({
534
534
  translationPayload
535
535
  });
536
536
  if (!entry) {
537
- await (onMissingCurrent == null ? void 0 : onMissingCurrent({
537
+ await (onNotFound == null ? void 0 : onNotFound({
538
538
  translationPayload
539
539
  }));
540
540
  return { translationMerged: false, entityId };
541
541
  }
542
- let translationResult = translateEntry({
542
+ const translationResult = translateEntry({
543
543
  entry,
544
544
  translationPayload,
545
545
  overrideModifiedTargetLocale
546
546
  });
547
- if (onTranslationResult) {
548
- translationResult = await onTranslationResult(translationResult);
549
- }
550
- const { updated, errorKind, result: translatedEntry } = translationResult;
547
+ const { updated, errorKind, errorText, result: translatedEntry } = translationResult;
551
548
  if (translatedEntry && updated && !errorKind) {
552
549
  const translationMerged = await updateEntry({
553
550
  contentClient,
@@ -555,13 +552,16 @@ var mergeEntryTranslationToUniform = async ({
555
552
  entry: translatedEntry
556
553
  });
557
554
  return { translationMerged, entityId };
555
+ } else {
556
+ await (onNotTranslatedResult == null ? void 0 : onNotTranslatedResult({ updated, errorKind, errorText }));
557
+ return { translationMerged: false, entityId };
558
558
  }
559
- return { translationMerged: false, entityId };
560
559
  };
561
- var defaultGetCurrentEntry = async ({
560
+ var getCurrentEntry = async ({
562
561
  contentClient,
563
562
  translationPayload
564
563
  }) => {
564
+ const entityType = translationPayload.metadata.entityType;
565
565
  const entryId = translationPayload.metadata.entity.id;
566
566
  const releaseId = translationPayload.metadata.uniformReleaseId;
567
567
  const entriesResponse = await contentClient.getEntries({
@@ -572,7 +572,8 @@ var defaultGetCurrentEntry = async ({
572
572
  skipDataResolution: true,
573
573
  skipOverridesResolution: true,
574
574
  skipPatternResolution: true,
575
- state: import_canvas5.CANVAS_DRAFT_STATE
575
+ state: import_canvas5.CANVAS_DRAFT_STATE,
576
+ pattern: entityType === "entryPattern"
576
577
  });
577
578
  const currentEntry = entriesResponse.entries.at(0);
578
579
  return currentEntry ? currentEntry : void 0;
@@ -584,11 +585,47 @@ var defaultUpdateEntry = async ({
584
585
  await contentClient.upsertEntry(entry);
585
586
  return true;
586
587
  };
588
+
589
+ // src/mergeTranslationToUniform.ts
590
+ var mergeTranslationToUniform = async ({
591
+ canvasClient,
592
+ contentClient,
593
+ translationPayload,
594
+ updateComposition,
595
+ updateEntry,
596
+ onNotFound,
597
+ onNotTranslatedResult
598
+ }) => {
599
+ if (!translationPayload) {
600
+ return { translationMerged: false };
601
+ }
602
+ const entityType = translationPayload.metadata.entityType;
603
+ const entityId = translationPayload.metadata.entity.id;
604
+ if (entityType === "composition" || entityType === "componentPattern") {
605
+ return await mergeCompositionTranslationToUniform({
606
+ canvasClient,
607
+ translationPayload,
608
+ updateComposition,
609
+ onNotFound,
610
+ onNotTranslatedResult
611
+ });
612
+ } else if (entityType === "entry" || entityType === "entryPattern") {
613
+ return await mergeEntryTranslationToUniform({
614
+ contentClient,
615
+ translationPayload,
616
+ updateEntry,
617
+ onNotFound,
618
+ onNotTranslatedResult
619
+ });
620
+ }
621
+ return { translationMerged: false, entityId };
622
+ };
587
623
  // Annotate the CommonJS export names for ESM import in node:
588
624
  0 && (module.exports = {
589
625
  collectTranslationPayload,
590
626
  mergeCompositionTranslationToUniform,
591
627
  mergeEntryTranslationToUniform,
628
+ mergeTranslationToUniform,
592
629
  translateComposition,
593
630
  translateEntry
594
631
  });
package/dist/index.mjs CHANGED
@@ -330,17 +330,17 @@ var translateComposition = ({
330
330
  var mergeCompositionTranslationToUniform = async ({
331
331
  canvasClient,
332
332
  translationPayload,
333
- getCurrentComposition = defaultGetCurrentComposition,
334
333
  updateComposition = defaultUpdateComposition,
335
- onMissingCurrent,
336
- onTranslationResult
334
+ onNotFound,
335
+ onNotTranslatedResult
337
336
  }) => {
338
337
  if (!translationPayload) {
339
338
  return { translationMerged: false };
340
339
  }
340
+ const entityType = translationPayload.metadata.entityType;
341
341
  const entityId = translationPayload.metadata.entity.id;
342
342
  const overrideModifiedTargetLocale = translationPayload.metadata.overrideModifiedTargetLocale;
343
- if ((translationPayload == null ? void 0 : translationPayload.metadata.entityType) !== "composition") {
343
+ if (entityType !== "composition" && entityType !== "componentPattern") {
344
344
  return { translationMerged: false, entityId };
345
345
  }
346
346
  const composition = await getCurrentComposition({
@@ -348,20 +348,17 @@ var mergeCompositionTranslationToUniform = async ({
348
348
  translationPayload
349
349
  });
350
350
  if (!composition) {
351
- await (onMissingCurrent == null ? void 0 : onMissingCurrent({
351
+ await (onNotFound == null ? void 0 : onNotFound({
352
352
  translationPayload
353
353
  }));
354
354
  return { translationMerged: false, entityId };
355
355
  }
356
- let translationResult = translateComposition({
356
+ const translationResult = translateComposition({
357
357
  composition,
358
358
  translationPayload,
359
359
  overrideModifiedTargetLocale
360
360
  });
361
- if (onTranslationResult) {
362
- translationResult = await onTranslationResult(translationResult);
363
- }
364
- const { updated, errorKind, result: translatedComposition } = translationResult;
361
+ const { updated, errorKind, errorText, result: translatedComposition } = translationResult;
365
362
  if (translatedComposition && updated && !errorKind) {
366
363
  const translationMerged = await updateComposition({
367
364
  canvasClient,
@@ -369,10 +366,12 @@ var mergeCompositionTranslationToUniform = async ({
369
366
  composition: translatedComposition
370
367
  });
371
368
  return { translationMerged, entityId };
369
+ } else {
370
+ await (onNotTranslatedResult == null ? void 0 : onNotTranslatedResult({ updated, errorKind, errorText }));
371
+ return { translationMerged: false, entityId };
372
372
  }
373
- return { translationMerged: false, entityId };
374
373
  };
375
- var defaultGetCurrentComposition = async ({
374
+ var getCurrentComposition = async ({
376
375
  canvasClient,
377
376
  translationPayload
378
377
  }) => {
@@ -489,17 +488,17 @@ var translateEntry = ({
489
488
  var mergeEntryTranslationToUniform = async ({
490
489
  contentClient,
491
490
  translationPayload,
492
- getCurrentEntry = defaultGetCurrentEntry,
493
- onMissingCurrent,
494
- onTranslationResult,
495
- updateEntry = defaultUpdateEntry
491
+ updateEntry = defaultUpdateEntry,
492
+ onNotFound,
493
+ onNotTranslatedResult
496
494
  }) => {
497
495
  if (!translationPayload) {
498
496
  return { translationMerged: false };
499
497
  }
498
+ const entityType = translationPayload.metadata.entityType;
500
499
  const entityId = translationPayload.metadata.entity.id;
501
500
  const overrideModifiedTargetLocale = translationPayload.metadata.overrideModifiedTargetLocale;
502
- if ((translationPayload == null ? void 0 : translationPayload.metadata.entityType) !== "entry") {
501
+ if (entityType !== "entry" && entityType !== "entryPattern") {
503
502
  return { translationMerged: false, entityId };
504
503
  }
505
504
  const entry = await getCurrentEntry({
@@ -507,20 +506,17 @@ var mergeEntryTranslationToUniform = async ({
507
506
  translationPayload
508
507
  });
509
508
  if (!entry) {
510
- await (onMissingCurrent == null ? void 0 : onMissingCurrent({
509
+ await (onNotFound == null ? void 0 : onNotFound({
511
510
  translationPayload
512
511
  }));
513
512
  return { translationMerged: false, entityId };
514
513
  }
515
- let translationResult = translateEntry({
514
+ const translationResult = translateEntry({
516
515
  entry,
517
516
  translationPayload,
518
517
  overrideModifiedTargetLocale
519
518
  });
520
- if (onTranslationResult) {
521
- translationResult = await onTranslationResult(translationResult);
522
- }
523
- const { updated, errorKind, result: translatedEntry } = translationResult;
519
+ const { updated, errorKind, errorText, result: translatedEntry } = translationResult;
524
520
  if (translatedEntry && updated && !errorKind) {
525
521
  const translationMerged = await updateEntry({
526
522
  contentClient,
@@ -528,13 +524,16 @@ var mergeEntryTranslationToUniform = async ({
528
524
  entry: translatedEntry
529
525
  });
530
526
  return { translationMerged, entityId };
527
+ } else {
528
+ await (onNotTranslatedResult == null ? void 0 : onNotTranslatedResult({ updated, errorKind, errorText }));
529
+ return { translationMerged: false, entityId };
531
530
  }
532
- return { translationMerged: false, entityId };
533
531
  };
534
- var defaultGetCurrentEntry = async ({
532
+ var getCurrentEntry = async ({
535
533
  contentClient,
536
534
  translationPayload
537
535
  }) => {
536
+ const entityType = translationPayload.metadata.entityType;
538
537
  const entryId = translationPayload.metadata.entity.id;
539
538
  const releaseId = translationPayload.metadata.uniformReleaseId;
540
539
  const entriesResponse = await contentClient.getEntries({
@@ -545,7 +544,8 @@ var defaultGetCurrentEntry = async ({
545
544
  skipDataResolution: true,
546
545
  skipOverridesResolution: true,
547
546
  skipPatternResolution: true,
548
- state: CANVAS_DRAFT_STATE4
547
+ state: CANVAS_DRAFT_STATE4,
548
+ pattern: entityType === "entryPattern"
549
549
  });
550
550
  const currentEntry = entriesResponse.entries.at(0);
551
551
  return currentEntry ? currentEntry : void 0;
@@ -557,10 +557,46 @@ var defaultUpdateEntry = async ({
557
557
  await contentClient.upsertEntry(entry);
558
558
  return true;
559
559
  };
560
+
561
+ // src/mergeTranslationToUniform.ts
562
+ var mergeTranslationToUniform = async ({
563
+ canvasClient,
564
+ contentClient,
565
+ translationPayload,
566
+ updateComposition,
567
+ updateEntry,
568
+ onNotFound,
569
+ onNotTranslatedResult
570
+ }) => {
571
+ if (!translationPayload) {
572
+ return { translationMerged: false };
573
+ }
574
+ const entityType = translationPayload.metadata.entityType;
575
+ const entityId = translationPayload.metadata.entity.id;
576
+ if (entityType === "composition" || entityType === "componentPattern") {
577
+ return await mergeCompositionTranslationToUniform({
578
+ canvasClient,
579
+ translationPayload,
580
+ updateComposition,
581
+ onNotFound,
582
+ onNotTranslatedResult
583
+ });
584
+ } else if (entityType === "entry" || entityType === "entryPattern") {
585
+ return await mergeEntryTranslationToUniform({
586
+ contentClient,
587
+ translationPayload,
588
+ updateEntry,
589
+ onNotFound,
590
+ onNotTranslatedResult
591
+ });
592
+ }
593
+ return { translationMerged: false, entityId };
594
+ };
560
595
  export {
561
596
  collectTranslationPayload,
562
597
  mergeCompositionTranslationToUniform,
563
598
  mergeEntryTranslationToUniform,
599
+ mergeTranslationToUniform,
564
600
  translateComposition,
565
601
  translateEntry
566
602
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uniformdev/tms-sdk",
3
- "version": "19.153.1-alpha.7+f044ed03fa",
3
+ "version": "19.154.1-alpha.13+8ed47bef1a",
4
4
  "description": "Uniform Translation Management System SDK",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "main": "./dist/index.js",
@@ -21,7 +21,7 @@
21
21
  "dev": "run-s dev:ts",
22
22
  "dev:ts": "tsup --watch",
23
23
  "clean": "rimraf dist",
24
- "test": "jest --maxWorkers=1",
24
+ "test": "jest --maxWorkers=1 --passWithNoTests",
25
25
  "lint": "eslint \"src/**/*.{js,ts,tsx}\"",
26
26
  "format": "prettier --write \"src/**/*.{js,ts,tsx}\"",
27
27
  "document": "api-extractor run --local"
@@ -33,13 +33,9 @@
33
33
  "access": "public"
34
34
  },
35
35
  "dependencies": {
36
- "@uniformdev/canvas": "19.153.1-alpha.7+f044ed03fa",
36
+ "@uniformdev/canvas": "19.154.1-alpha.13+8ed47bef1a",
37
37
  "dequal": "2.0.3",
38
- "immer": "10.0.4",
39
- "uuid": "9.0.1"
38
+ "immer": "10.0.4"
40
39
  },
41
- "devDependencies": {
42
- "@types/uuid": "9.0.4"
43
- },
44
- "gitHead": "f044ed03fac543671ed2db1869cc173618f4d46c"
40
+ "gitHead": "8ed47bef1a4cefc1d4319ebbf652d64b38449a83"
45
41
  }