You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

31 lines
1.1 KiB

import { getAssetByID } from 'react-native/Libraries/Image/AssetRegistry';
import AssetSourceResolver from './AssetSourceResolver';
let _customSourceTransformer;
export function setCustomSourceTransformer(transformer) {
_customSourceTransformer = transformer;
}
/**
* `source` is either a number (opaque type returned by require('./foo.png'))
* or an `ImageSource` like { uri: '<http location || file path>' }
*/
export default function resolveAssetSource(source) {
if (typeof source === 'object') {
return source;
}
const asset = getAssetByID(source);
if (!asset) {
return undefined;
}
const resolver = new AssetSourceResolver(location.origin, null, asset);
if (_customSourceTransformer) {
return _customSourceTransformer(resolver);
}
return resolver.defaultAsset();
}
Object.defineProperty(resolveAssetSource, 'setCustomSourceTransformer', {
get() {
return setCustomSourceTransformer;
},
});
export const { pickScale } = AssetSourceResolver;
//# sourceMappingURL=resolveAssetSource.web.js.map