Example #1
14
 */function dropAll(){return localforage.clear().then(function(){return Promise.resolve();}).catch(function(err){return Promise.reject(err);});}/**
 * Supprime le store courant contenant les fragments
 * @param {string} storeName
 * @memberof module:IndexDBStore
 * @instance
 */function dropFragmentStore(storeName){localforage.dropInstance({driver:localforage.INDEXEDDB,name:'dash_offline_db',version:1.0,storeName:storeName}).then(function(){delete fragmentStores[storeName];}).catch(function(err){console.log('dropFragmentStore failed '+err);});return;}/**
 */function deleteDownloadById(manifestId){return manifestStore.getItem('manifest').then(function(array){if(array){return deleteFragmentStore(manifestId).then(function(){for(let i=0;i<array.manifests.length;i++){if(array.manifests[i].manifestId===parseInt(manifestId)){array.manifests.splice(i,1);}}return manifestStore.setItem('manifest',array).then(function(){return Promise.resolve('This stream has been successfull removed !');}).catch(function(){return Promise.reject('An error occured when trying to delete this manifest');});});}else{return Promise.resolve('Nothing to delete !');}}).catch(function(err){return Promise.reject(err);});}/**
 * Supprime le store contenant les fragments
 * @memberof module:IndexDBStore
 * @param {string} storeName
 * @returns {Promise} résultat de la suppression
 * @instance
 */function deleteFragmentStore(storeName){localforage.createInstance({name:'dash_offline_db',storeName:storeName});return localforage.dropInstance({name:'dash_offline_db',storeName:storeName}).then(function(){delete fragmentStores[storeName];return Promise.resolve();}).catch(function(err){console.log(err);return Promise.reject(err);});}setup();instance={dropAll:dropAll,getFragmentByKey:getFragmentByKey,getManifestById:getManifestById,storeFragment:storeFragment,storeManifest:storeManifest,updateManifest:updateManifest,createFragmentStore:createFragmentStore,setDownloadingStatus:setDownloadingStatus,getCurrentHigherManifestId:getCurrentHigherManifestId,getAllManifests:getAllManifests,dropFragmentStore:dropFragmentStore,deleteDownloadById:deleteDownloadById};return instance;}IndexDBStore.__dashjs_factory_name='IndexDBStore';export default FactoryMaker.getSingletonFactory(IndexDBStore);