@toast-studios/asset-manager
Version:
A React Native asset management library with intelligent caching and loading strategies
33 lines (32 loc) • 1.25 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createStrategy = exports.StrategyFactory = exports.NetworkAwareStrategy = void 0;
var NetworkAwareStrategy_1 = require("./NetworkAwareStrategy");
Object.defineProperty(exports, "NetworkAwareStrategy", { enumerable: true, get: function () { return NetworkAwareStrategy_1.NetworkAwareStrategy; } });
const index_1 = require("../types/index");
const NetworkAwareStrategy_2 = require("./NetworkAwareStrategy");
/**
* Factory for creating download strategies
*/
class StrategyFactory {
/**
* Create a strategy based on type
*/
static create(_config) {
// Always return NetworkAwareStrategy as it's the only implemented strategy
return new NetworkAwareStrategy_2.NetworkAwareStrategy();
}
}
exports.StrategyFactory = StrategyFactory;
/**
* Create a strategy instance
*/
function createStrategy(type) {
switch (type) {
case index_1.DownloadStrategy.NETWORK_AWARE:
return new NetworkAwareStrategy_2.NetworkAwareStrategy();
default:
throw new Error(`Strategy type ${type} is not implemented. Only NETWORK_AWARE is currently supported.`);
}
}
exports.createStrategy = createStrategy;