UNPKG

@sendbird/uikit-react-native-foundation

Version:

A foundational UI kit for building chat-enabled React Native apps.

78 lines 2.28 kB
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } import React from 'react'; import { Image } from 'react-native'; import FastImageInternal from './FastImageInternal'; function convertCache(cache) { switch (cache) { case 'force-cache': case 'only-if-cached': return 'cacheOnly'; default: return 'immutable'; } } function convertSource(source) { if (Array.isArray(source)) { return convertSource(source[0]); } if (typeof source === 'number') { return source; } return { uri: source === null || source === void 0 ? void 0 : source.uri, headers: source === null || source === void 0 ? void 0 : source.headers, cache: convertCache(source === null || source === void 0 ? void 0 : source.cache) //'immutable' | 'web' | 'cacheOnly' }; } function convertDefaultSource(source) { if (typeof source === 'number') { return source; } return undefined; } function convertResizeMode(mode) { switch (mode) { case 'center': return 'center'; case 'contain': return 'contain'; case 'cover': return 'cover'; case 'stretch': return 'stretch'; default: return undefined; } } const Image_FastImage = ({ source, defaultSource, resizeMode, onLoad, onError, style, tintColor, disableFastImage = false, ...props }) => { if (disableFastImage) { return /*#__PURE__*/React.createElement(Image, _extends({}, props, { source: source, style: [style, { tintColor }], onError: onError && (e => onError(e.nativeEvent)), onLoad: onLoad && (e => onLoad(e.nativeEvent.source)) })); } return /*#__PURE__*/React.createElement(FastImageInternal, _extends({}, props, { onLoad: onLoad && (e => onLoad(e.nativeEvent)), onError: onError && (() => onError({})), style: style, source: convertSource(source), defaultSource: convertDefaultSource(defaultSource), resizeMode: convertResizeMode(resizeMode) })); }; export default Image_FastImage; //# sourceMappingURL=Image.fastimage.js.map