MCPcopy Create free account
hub / github.com/CommE2E/comm / getEntityTextAsString

Function getEntityTextAsString

lib/utils/entity-text.js:627–673  ·  view source on GitHub ↗
(
  entityText: ?EntityText,
  fetchers?: Fetchers,
  params?: EntityTextToRawStringParams,
)

Source from the content-addressed store, hash-verified

625 +getFCNames?: ?GetFCNames,
626};
627async function getEntityTextAsString(
628 entityText: ?EntityText,
629 fetchers?: Fetchers,
630 params?: EntityTextToRawStringParams,
631): Promise<?string> {
632 if (!entityText) {
633 return entityText;
634 }
635
636 const getENSNames = fetchers?.getENSNames;
637 const getFCNames = fetchers?.getFCNames;
638
639 if (!getENSNames && !getFCNames) {
640 return entityTextToRawString(entityText, params);
641 }
642
643 const allObjects = entityTextToObjects(entityText);
644
645 const objectsWithENSNamesPromise = (async () => {
646 if (!getENSNames) {
647 return allObjects;
648 }
649 return await getENSNames(allObjects);
650 })();
651 const objectsWithFCNamesPromise = (async () => {
652 if (!getFCNames) {
653 return allObjects;
654 }
655 return await getFCNames(allObjects);
656 })();
657 const [objectsWithENSNames, objectsWithFCNames] = await Promise.all([
658 objectsWithENSNamesPromise,
659 objectsWithFCNamesPromise,
660 ]);
661
662 const mergedObjects = [];
663 for (let i = 0; i < allObjects.length; i++) {
664 const originalObject = allObjects[i];
665 const updatedObject = originalObject.fid
666 ? objectsWithFCNames[i]
667 : objectsWithENSNames[i];
668 mergedObjects.push(updatedObject);
669 }
670
671 const resolvedEntityText = entityTextFromObjects(mergedObjects);
672 return entityTextToRawString(resolvedEntityText, params);
673}
674
675export {
676 ET,

Callers 2

resolveToStringFunction · 0.90
createSidebarTitleFunction · 0.90

Calls 6

entityTextToRawStringFunction · 0.85
entityTextToObjectsFunction · 0.85
entityTextFromObjectsFunction · 0.85
pushMethod · 0.80
getENSNamesFunction · 0.70
getFCNamesFunction · 0.70

Tested by

no test coverage detected