diff --git a/Libraries/Image/AssetSourceResolver.js b/Libraries/Image/AssetSourceResolver.js index 4ddc2bf1230..ee81537631c 100644 --- a/Libraries/Image/AssetSourceResolver.js +++ b/Libraries/Image/AssetSourceResolver.js @@ -21,7 +21,7 @@ export type ResolvedAssetSource = {| import type {PackagerAsset} from '@react-native/assets/registry'; const PixelRatio = require('../Utilities/PixelRatio'); -const pickScale = require('./AssetSourcePickScale'); +const {pickScale} = require('./AssetUtils'); const Platform = require('../Utilities/Platform'); const invariant = require('invariant'); diff --git a/Libraries/Image/AssetSourcePickScale.js b/Libraries/Image/AssetUtils.js similarity index 55% rename from Libraries/Image/AssetSourcePickScale.js rename to Libraries/Image/AssetUtils.js index 70c35f3bcf3..519a8cdb1eb 100644 --- a/Libraries/Image/AssetSourcePickScale.js +++ b/Libraries/Image/AssetUtils.js @@ -10,11 +10,12 @@ 'use strict'; -const PixelRatio = require('../Utilities/PixelRatio'); -function AssetSourcePickScale( - scales: Array, - deviceScale?: number, -): number { +import PixelRatio from '../Utilities/PixelRatio'; + +let cacheBreaker; +let warnIfCacheBreakerUnset = true; + +export function pickScale(scales: Array, deviceScale?: number): number { if (deviceScale == null) { deviceScale = PixelRatio.get(); } @@ -30,4 +31,16 @@ function AssetSourcePickScale( // in which case we default to 1 return scales[scales.length - 1] || 1; } -module.exports = AssetSourcePickScale; + +export function setUrlCacheBreaker(appendage: string) { + cacheBreaker = appendage; +} + +export function getUrlCacheBreaker(): string { + if (__DEV__ && warnIfCacheBreakerUnset && cacheBreaker == null) { + warnIfCacheBreakerUnset = false; + console.warn('AssetUtils.getUrlCacheBreaker: Cache breaker value is unset'); + return ''; + } + return cacheBreaker; +} diff --git a/Libraries/Image/resolveAssetSource.js b/Libraries/Image/resolveAssetSource.js index 19e9607ace5..fe8e543e1ff 100644 --- a/Libraries/Image/resolveAssetSource.js +++ b/Libraries/Image/resolveAssetSource.js @@ -14,7 +14,7 @@ const AssetRegistry = require('@react-native/assets/registry'); const AssetSourceResolver = require('./AssetSourceResolver'); -const AssetSourcePickScale = require('./AssetSourcePickScale'); +const {pickScale} = require('./AssetUtils'); import type {ResolvedAssetSource} from './AssetSourceResolver'; @@ -106,5 +106,5 @@ function resolveAssetSource(source: any): ?ResolvedAssetSource { } module.exports = resolveAssetSource; -module.exports.pickScale = AssetSourcePickScale; +module.exports.pickScale = pickScale; module.exports.setCustomSourceTransformer = setCustomSourceTransformer;