@contentful/experiences-core 1.41.0-beta.0 → 1.41.0-dev-20250612T0852-ddef0ff.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/entity/EntityStoreBase.d.ts +2 -0
- package/dist/index.d.ts +0 -1
- package/dist/index.js +25 -39
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/dist/utils/entityTypeChecks.d.ts +0 -6
|
@@ -33,6 +33,8 @@ declare abstract class EntityStoreBase {
|
|
|
33
33
|
fetchEntry(id: string): Promise<Entry | undefined>;
|
|
34
34
|
fetchEntries(ids: string[]): Promise<Entry[]>;
|
|
35
35
|
private getDeepEntry;
|
|
36
|
+
private isAsset;
|
|
37
|
+
private isEntry;
|
|
36
38
|
private getEntity;
|
|
37
39
|
toJSON(): {
|
|
38
40
|
entryMap: {
|
package/dist/index.d.ts
CHANGED
|
@@ -17,7 +17,6 @@ export { treeMap, treeVisit } from './utils/treeTraversal.js';
|
|
|
17
17
|
export { isExperienceEntry } from './utils/typeguards.js';
|
|
18
18
|
export { checkIsAssembly, checkIsAssemblyDefinition, checkIsAssemblyEntry, checkIsAssemblyNode, generateRandomId, getDataFromTree, getInsertionData, getTargetValueInPixels, parseCSSValue } from './utils/utils.js';
|
|
19
19
|
export { doesMismatchMessageSchema, tryParseMessage, validateExperienceBuilderConfig } from './utils/validations.js';
|
|
20
|
-
export { isAsset, isEntry } from './utils/entityTypeChecks.js';
|
|
21
20
|
export { builtInStyles, columnsBuiltInStyles, containerBuiltInStyles, dividerBuiltInStyles, optionalBuiltInStyles, sectionBuiltInStyles, singleColumnBuiltInStyles } from './definitions/styles.js';
|
|
22
21
|
export { EditorModeEntityStore } from './entity/EditorModeEntityStore.js';
|
|
23
22
|
export { EntityStore } from './entity/EntityStore.js';
|
package/dist/index.js
CHANGED
|
@@ -2872,43 +2872,20 @@ const transformMedia = (asset, variables, resolveDesignValue, variableName, path
|
|
|
2872
2872
|
return asset.fields.file?.url;
|
|
2873
2873
|
};
|
|
2874
2874
|
|
|
2875
|
-
const isAsset = (value) => {
|
|
2876
|
-
return (null !== value &&
|
|
2877
|
-
typeof value === 'object' &&
|
|
2878
|
-
'sys' in value &&
|
|
2879
|
-
value.sys?.type === 'Asset');
|
|
2880
|
-
};
|
|
2881
|
-
const isEntry = (value) => {
|
|
2882
|
-
return (null !== value &&
|
|
2883
|
-
typeof value === 'object' &&
|
|
2884
|
-
'sys' in value &&
|
|
2885
|
-
value.sys?.type === 'Entry');
|
|
2886
|
-
};
|
|
2887
|
-
|
|
2888
2875
|
function getResolvedEntryFromLink(entryOrAsset, path, entityStore) {
|
|
2889
|
-
if (
|
|
2876
|
+
if (entryOrAsset.sys.type === 'Asset') {
|
|
2890
2877
|
return entryOrAsset;
|
|
2891
2878
|
}
|
|
2892
|
-
else if (!isEntry(entryOrAsset)) {
|
|
2893
|
-
throw new Error(`Expected an Entry or Asset, but got: ${JSON.stringify(entryOrAsset)}`);
|
|
2894
|
-
}
|
|
2895
2879
|
const value = get(entryOrAsset, path.split('/').slice(2, -1));
|
|
2896
|
-
|
|
2897
|
-
if (isAsset(value) || isEntry(value)) {
|
|
2898
|
-
// In some cases, reference fields are already resolved
|
|
2899
|
-
resolvedEntity = value;
|
|
2900
|
-
}
|
|
2901
|
-
else if (value?.sys.type === 'Link') {
|
|
2902
|
-
// Look up the reference in the entity store
|
|
2903
|
-
resolvedEntity = entityStore.getEntityFromLink(value);
|
|
2904
|
-
if (!resolvedEntity) {
|
|
2905
|
-
return;
|
|
2906
|
-
}
|
|
2907
|
-
}
|
|
2908
|
-
else {
|
|
2880
|
+
if (value?.sys.type !== 'Link') {
|
|
2909
2881
|
console.warn(`Expected a link to a reference, but got: ${JSON.stringify(value)}`);
|
|
2910
2882
|
return;
|
|
2911
2883
|
}
|
|
2884
|
+
//Look up the reference in the entity store
|
|
2885
|
+
const resolvedEntity = entityStore.getEntityFromLink(value);
|
|
2886
|
+
if (!resolvedEntity) {
|
|
2887
|
+
return;
|
|
2888
|
+
}
|
|
2912
2889
|
//resolve any embedded links - we currently only support 2 levels deep
|
|
2913
2890
|
const fields = resolvedEntity.fields || {};
|
|
2914
2891
|
Object.entries(fields).forEach(([fieldKey, field]) => {
|
|
@@ -3262,13 +3239,10 @@ class EntityStoreBase {
|
|
|
3262
3239
|
}
|
|
3263
3240
|
entity = resolvedEntity;
|
|
3264
3241
|
}
|
|
3265
|
-
else
|
|
3242
|
+
else {
|
|
3266
3243
|
// We already have the complete entity in preview & delivery (resolved by the CMA client)
|
|
3267
3244
|
entity = linkOrEntryOrAsset;
|
|
3268
3245
|
}
|
|
3269
|
-
else {
|
|
3270
|
-
throw new Error(`Unexpected object when resolving entity: ${JSON.stringify(linkOrEntryOrAsset)}`);
|
|
3271
|
-
}
|
|
3272
3246
|
return entity;
|
|
3273
3247
|
}
|
|
3274
3248
|
/**
|
|
@@ -3314,14 +3288,14 @@ class EntityStoreBase {
|
|
|
3314
3288
|
};
|
|
3315
3289
|
}
|
|
3316
3290
|
addEntity(entity) {
|
|
3317
|
-
if (isAsset(entity)) {
|
|
3291
|
+
if (this.isAsset(entity)) {
|
|
3318
3292
|
this.assetMap.set(entity.sys.id, entity);
|
|
3319
3293
|
}
|
|
3320
|
-
else if (isEntry(entity)) {
|
|
3294
|
+
else if (this.isEntry(entity)) {
|
|
3321
3295
|
this.entryMap.set(entity.sys.id, entity);
|
|
3322
3296
|
}
|
|
3323
3297
|
else {
|
|
3324
|
-
|
|
3298
|
+
console.warn('Attempted to add an entity that is neither Asset nor Entry:', entity);
|
|
3325
3299
|
}
|
|
3326
3300
|
}
|
|
3327
3301
|
async fetchAsset(id) {
|
|
@@ -3391,7 +3365,7 @@ class EntityStoreBase {
|
|
|
3391
3365
|
resolvedFieldset.push([entityToResolveFieldsFrom, field, _localeQualifier]);
|
|
3392
3366
|
entityToResolveFieldsFrom = entity; // we move up
|
|
3393
3367
|
}
|
|
3394
|
-
else if (isAsset(fieldValue) || isEntry(fieldValue)) {
|
|
3368
|
+
else if (this.isAsset(fieldValue) || this.isEntry(fieldValue)) {
|
|
3395
3369
|
resolvedFieldset.push([entityToResolveFieldsFrom, field, _localeQualifier]);
|
|
3396
3370
|
entityToResolveFieldsFrom = fieldValue; // we move up
|
|
3397
3371
|
}
|
|
@@ -3427,6 +3401,18 @@ class EntityStoreBase {
|
|
|
3427
3401
|
const [leafEntity] = resolvedFieldset[resolvedFieldset.length - 1];
|
|
3428
3402
|
return leafEntity;
|
|
3429
3403
|
}
|
|
3404
|
+
isAsset(value) {
|
|
3405
|
+
return (null !== value &&
|
|
3406
|
+
typeof value === 'object' &&
|
|
3407
|
+
'sys' in value &&
|
|
3408
|
+
value.sys?.type === 'Asset');
|
|
3409
|
+
}
|
|
3410
|
+
isEntry(value) {
|
|
3411
|
+
return (null !== value &&
|
|
3412
|
+
typeof value === 'object' &&
|
|
3413
|
+
'sys' in value &&
|
|
3414
|
+
value.sys?.type === 'Entry');
|
|
3415
|
+
}
|
|
3430
3416
|
getEntity(type, id) {
|
|
3431
3417
|
if (type === 'Asset') {
|
|
3432
3418
|
return this.assetMap.get(id);
|
|
@@ -4261,5 +4247,5 @@ async function fetchById({ client, experienceTypeId, id, localeCode, isEditorMod
|
|
|
4261
4247
|
}
|
|
4262
4248
|
}
|
|
4263
4249
|
|
|
4264
|
-
export { DebugLogger, DeepReference, EditorModeEntityStore, EntityStore, EntityStoreBase, MEDIA_QUERY_REGEXP, VisualEditorMode, addLocale, addMinHeightForEmptyStructures, breakpointsRegistry, buildCfStyles, buildStyleTag, buildTemplate, builtInStyles, calculateNodeDefaultHeight, checkIsAssembly, checkIsAssemblyDefinition, checkIsAssemblyEntry, checkIsAssemblyNode, columnsBuiltInStyles, containerBuiltInStyles, createExperience, debug, defineBreakpoints, defineDesignTokens, designTokensRegistry, detachExperienceStyles, disableDebug, dividerBuiltInStyles, doesMismatchMessageSchema, enableDebug, fetchAllAssets, fetchAllEntries, fetchById, fetchBySlug, fetchExperienceEntry, fetchReferencedEntities, findOutermostCoordinates, flattenDesignTokenRegistry, gatherDeepReferencesFromExperienceEntry, gatherDeepReferencesFromTree, generateRandomId, getActiveBreakpointIndex, getBreakpointRegistration, getDataFromTree, getDesignTokenRegistration, getElementCoordinates, getFallbackBreakpointIndex, getInsertionData, getTargetValueInPixels, getTemplateValue, getValueForBreakpoint, indexByBreakpoint,
|
|
4250
|
+
export { DebugLogger, DeepReference, EditorModeEntityStore, EntityStore, EntityStoreBase, MEDIA_QUERY_REGEXP, VisualEditorMode, addLocale, addMinHeightForEmptyStructures, breakpointsRegistry, buildCfStyles, buildStyleTag, buildTemplate, builtInStyles, calculateNodeDefaultHeight, checkIsAssembly, checkIsAssemblyDefinition, checkIsAssemblyEntry, checkIsAssemblyNode, columnsBuiltInStyles, containerBuiltInStyles, createExperience, debug, defineBreakpoints, defineDesignTokens, designTokensRegistry, detachExperienceStyles, disableDebug, dividerBuiltInStyles, doesMismatchMessageSchema, enableDebug, fetchAllAssets, fetchAllEntries, fetchById, fetchBySlug, fetchExperienceEntry, fetchReferencedEntities, findOutermostCoordinates, flattenDesignTokenRegistry, gatherDeepReferencesFromExperienceEntry, gatherDeepReferencesFromTree, generateRandomId, getActiveBreakpointIndex, getBreakpointRegistration, getDataFromTree, getDesignTokenRegistration, getElementCoordinates, getFallbackBreakpointIndex, getInsertionData, getTargetValueInPixels, getTemplateValue, getValueForBreakpoint, indexByBreakpoint, isCfStyleAttribute, isComponentAllowedOnRoot, isContentfulComponent, isContentfulStructureComponent, isDeepPath, isExperienceEntry, isLink, isLinkToAsset, isPatternComponent, isStructureWithRelativeHeight, isValidBreakpointValue, lastPathNamedSegmentEq, localizeEntity, maybePopulateDesignTokenValue, mediaQueryMatcher, optionalBuiltInStyles, parseCSSValue, parseDataSourcePathIntoFieldset, parseDataSourcePathWithL1DeepBindings, resetBreakpointsRegistry, resetDesignTokenRegistry, resolveBackgroundImageBinding, resolveHyperlinkPattern, runBreakpointsValidation, sanitizeNodeProps, sectionBuiltInStyles, sendMessage, singleColumnBuiltInStyles, stringifyCssProperties, toCSSAttribute, toMediaQuery, transformBoundContentValue, transformVisibility, treeMap, treeVisit, tryParseMessage, validateExperienceBuilderConfig };
|
|
4265
4251
|
//# sourceMappingURL=index.js.map
|