export default (instance,data) => (...params) => { switch (params.length) { case 0: { return data.loaders } case 1: { let [input]=params if (typeof input=='object') { let loaders=input data.loaders=loaders return instance } let loaders=data.loaders[input] if (typeof loaders=='object') { return !!Object.keys(loaders).length } return loaders } case 2: { let [actionName,value]=params data.loaders[actionName]=value } case 3: { let [actionName,time,value]=params if (!data.loaders[actionName]) { data.loaders[actionName]={} } if (value) { data.loaders[actionName]={ ...data.loaders[actionName], [time]: value } } else { delete data.loaders[actionName][time] } } } return instance }