UNPKG

@toast-studios/asset-manager

Version:

A React Native asset management library with intelligent caching and loading strategies

33 lines (32 loc) 1.25 kB
"use strict"; 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;