canvu-react 0.4.48 → 0.4.49

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/native.cjs CHANGED
@@ -2108,6 +2108,14 @@ async function loadSkiaImageFromHref(href) {
2108
2108
  var nativeSkiaImageCache = createNativeImageCache({
2109
2109
  loadImage: loadSkiaImageFromHref
2110
2110
  });
2111
+ function resolveNativeImageLoadingState(href, loadedImage) {
2112
+ if (loadedImage?.image) return loadedImage;
2113
+ return { href, image: null };
2114
+ }
2115
+ function resolveNativeImageRenderValue(href, loadedImage) {
2116
+ if (!href) return null;
2117
+ return loadedImage?.image ?? null;
2118
+ }
2111
2119
  function useCachedSkiaImage(href) {
2112
2120
  const [loadedImage, setLoadedImage] = react.useState(
2113
2121
  () => href ? { href, image: nativeSkiaImageCache.getCached(href) } : null
@@ -2124,7 +2132,9 @@ function useCachedSkiaImage(href) {
2124
2132
  return releaseImage;
2125
2133
  }
2126
2134
  let active = true;
2127
- setLoadedImage({ href, image: null });
2135
+ setLoadedImage(
2136
+ (currentLoadedImage) => resolveNativeImageLoadingState(href, currentLoadedImage)
2137
+ );
2128
2138
  void nativeSkiaImageCache.load(href).then(
2129
2139
  (loadedImage2) => {
2130
2140
  if (active) setLoadedImage({ href, image: loadedImage2 });
@@ -2138,8 +2148,7 @@ function useCachedSkiaImage(href) {
2138
2148
  releaseImage();
2139
2149
  };
2140
2150
  }, [href]);
2141
- if (!href || loadedImage?.href !== href) return null;
2142
- return loadedImage.image;
2151
+ return resolveNativeImageRenderValue(href, loadedImage);
2143
2152
  }
2144
2153
 
2145
2154
  // src/native/skia-transform.ts