mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Add cachebreaker to remote assets
Summary: Changelog: [Internal][Added] - Create a general utils for assets and add a cache breaker utility to set/get a urlparam for remote assets. Reviewed By: motiz88 Differential Revision: D25521331 fbshipit-source-id: 042e52a27e826bc9993e80bc68cc6fc68abaf224
This commit is contained in:
committed by
Facebook GitHub Bot
parent
fba0631ba7
commit
3ade096f02
@@ -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');
|
||||
|
||||
@@ -10,11 +10,12 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
const PixelRatio = require('../Utilities/PixelRatio');
|
||||
function AssetSourcePickScale(
|
||||
scales: Array<number>,
|
||||
deviceScale?: number,
|
||||
): number {
|
||||
import PixelRatio from '../Utilities/PixelRatio';
|
||||
|
||||
let cacheBreaker;
|
||||
let warnIfCacheBreakerUnset = true;
|
||||
|
||||
export function pickScale(scales: Array<number>, 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;
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user