getDataFrom method
Implementation
Either<List<Content>, String?>? getDataFrom({
required Content content,
Includes? includes,
}) {
final modifiedContent = content.copyWith(
parentNodeType: content.parentNodeType,
subContent: content.subContent
?.map((e) => e.copyWith(parentNodeType: content.nodeType))
.toList() ??
[],
);
final nodeType = modifiedContent.nodeType;
final subContent = modifiedContent.subContent;
if ((nodeType.isEmbeddedAssetBlock) && includes != null) {
// Returns String
return right(
getAssetUrlFrom(
assetId: modifiedContent.data!.target!.sys!.idOrNull,
includes: includes,
),
);
} else if (nodeType.isHorizontalDivider) {
// Returns String
return const Right(ContentfulAPIConstants.horizontalDivider);
} else {
// Returns Content but we make it List<Content> to match the return type
return left([modifiedContent.copyWith(subContent: subContent)]);
}
}