@contentful/experiences-visual-editor-react 1.41.0-dev-20250612T0852-ddef0ff.0 → 1.41.0-dev-20250612T1337-f66b32d.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/renderApp.js CHANGED
@@ -44463,18 +44463,41 @@ const transformMedia = (asset, variables, resolveDesignValue, variableName, path
44463
44463
  return asset.fields.file?.url;
44464
44464
  };
44465
44465
 
44466
+ const isAsset = (value) => {
44467
+ return (null !== value &&
44468
+ typeof value === 'object' &&
44469
+ 'sys' in value &&
44470
+ value.sys?.type === 'Asset');
44471
+ };
44472
+ const isEntry = (value) => {
44473
+ return (null !== value &&
44474
+ typeof value === 'object' &&
44475
+ 'sys' in value &&
44476
+ value.sys?.type === 'Entry');
44477
+ };
44478
+
44466
44479
  function getResolvedEntryFromLink(entryOrAsset, path, entityStore) {
44467
- if (entryOrAsset.sys.type === 'Asset') {
44480
+ if (isAsset(entryOrAsset)) {
44468
44481
  return entryOrAsset;
44469
44482
  }
44483
+ else if (!isEntry(entryOrAsset)) {
44484
+ throw new Error(`Expected an Entry or Asset, but got: ${JSON.stringify(entryOrAsset)}`);
44485
+ }
44470
44486
  const value = get(entryOrAsset, path.split('/').slice(2, -1));
44471
- if (value?.sys.type !== 'Link') {
44472
- console.warn(`Expected a link to a reference, but got: ${JSON.stringify(value)}`);
44473
- return;
44487
+ let resolvedEntity;
44488
+ if (isAsset(value) || isEntry(value)) {
44489
+ // In some cases, reference fields are already resolved
44490
+ resolvedEntity = value;
44491
+ }
44492
+ else if (value?.sys.type === 'Link') {
44493
+ // Look up the reference in the entity store
44494
+ resolvedEntity = entityStore.getEntityFromLink(value);
44495
+ if (!resolvedEntity) {
44496
+ return;
44497
+ }
44474
44498
  }
44475
- //Look up the reference in the entity store
44476
- const resolvedEntity = entityStore.getEntityFromLink(value);
44477
- if (!resolvedEntity) {
44499
+ else {
44500
+ console.warn(`Expected a link to a reference, but got: ${JSON.stringify(value)}`);
44478
44501
  return;
44479
44502
  }
44480
44503
  //resolve any embedded links - we currently only support 2 levels deep
@@ -44729,10 +44752,13 @@ class EntityStoreBase {
44729
44752
  }
44730
44753
  entity = resolvedEntity;
44731
44754
  }
44732
- else {
44755
+ else if (isAsset(linkOrEntryOrAsset) || isEntry(linkOrEntryOrAsset)) {
44733
44756
  // We already have the complete entity in preview & delivery (resolved by the CMA client)
44734
44757
  entity = linkOrEntryOrAsset;
44735
44758
  }
44759
+ else {
44760
+ throw new Error(`Unexpected object when resolving entity: ${JSON.stringify(linkOrEntryOrAsset)}`);
44761
+ }
44736
44762
  return entity;
44737
44763
  }
44738
44764
  /**
@@ -44778,14 +44804,14 @@ class EntityStoreBase {
44778
44804
  };
44779
44805
  }
44780
44806
  addEntity(entity) {
44781
- if (this.isAsset(entity)) {
44807
+ if (isAsset(entity)) {
44782
44808
  this.assetMap.set(entity.sys.id, entity);
44783
44809
  }
44784
- else if (this.isEntry(entity)) {
44810
+ else if (isEntry(entity)) {
44785
44811
  this.entryMap.set(entity.sys.id, entity);
44786
44812
  }
44787
44813
  else {
44788
- console.warn('Attempted to add an entity that is neither Asset nor Entry:', entity);
44814
+ throw new Error(`Attempted to add an entity to the store that is neither Asset nor Entry: '${JSON.stringify(entity)}'`);
44789
44815
  }
44790
44816
  }
44791
44817
  async fetchAsset(id) {
@@ -44855,7 +44881,7 @@ class EntityStoreBase {
44855
44881
  resolvedFieldset.push([entityToResolveFieldsFrom, field, _localeQualifier]);
44856
44882
  entityToResolveFieldsFrom = entity; // we move up
44857
44883
  }
44858
- else if (this.isAsset(fieldValue) || this.isEntry(fieldValue)) {
44884
+ else if (isAsset(fieldValue) || isEntry(fieldValue)) {
44859
44885
  resolvedFieldset.push([entityToResolveFieldsFrom, field, _localeQualifier]);
44860
44886
  entityToResolveFieldsFrom = fieldValue; // we move up
44861
44887
  }
@@ -44891,18 +44917,6 @@ class EntityStoreBase {
44891
44917
  const [leafEntity] = resolvedFieldset[resolvedFieldset.length - 1];
44892
44918
  return leafEntity;
44893
44919
  }
44894
- isAsset(value) {
44895
- return (null !== value &&
44896
- typeof value === 'object' &&
44897
- 'sys' in value &&
44898
- value.sys?.type === 'Asset');
44899
- }
44900
- isEntry(value) {
44901
- return (null !== value &&
44902
- typeof value === 'object' &&
44903
- 'sys' in value &&
44904
- value.sys?.type === 'Entry');
44905
- }
44906
44920
  getEntity(type, id) {
44907
44921
  if (type === 'Asset') {
44908
44922
  return this.assetMap.get(id);
@@ -60550,7 +60564,7 @@ function useSingleColumn(node, resolveDesignValue) {
60550
60564
  return false;
60551
60565
  }
60552
60566
  const { cfWrapColumns } = parentNode.data.props;
60553
- if (cfWrapColumns.type !== 'DesignValue') {
60567
+ if (cfWrapColumns?.type !== 'DesignValue') {
60554
60568
  return false;
60555
60569
  }
60556
60570
  return resolveDesignValue(cfWrapColumns.valuesByBreakpoint);