getImageProviderByImageSource function

ImageProvider<Object> getImageProviderByImageSource(
  1. String imageSource, {
  2. required ImageEmbedBuilderProviderBuilder? imageProviderBuilder,
  3. required String assetsPrefix,
  4. required BuildContext context,
})

imageProviderBuilder To override the return value pass value to it imageSource The source of the image in the quill delta json document It could be http, file, network, asset, or base 64 image

Implementation

ImageProvider getImageProviderByImageSource(
  String imageSource, {
  required ImageEmbedBuilderProviderBuilder? imageProviderBuilder,
  required String assetsPrefix,
  required BuildContext context,
}) {
  if (imageProviderBuilder != null) {
    return imageProviderBuilder(context, imageSource);
  }

  if (isImageBase64(imageSource)) {
    return MemoryImage(base64.decode(imageSource));
  }

  if (isHttpBasedUrl(imageSource)) {
    return NetworkImage(imageSource);
  }

  if (imageSource.startsWith(assetsPrefix)) {
    return AssetImage(imageSource);
  }

  // File image
  if (kIsWeb) {
    return NetworkImage(imageSource);
  }
  return FileImage(File(imageSource));
}