(
providerList: {
providerType: string;
providerSettings: any;
listProvider: any;
}[],
type,
getListF,
)
| 271 | |
| 272 | // retrive lists |
| 273 | export async function retriveLists( |
| 274 | providerList: { |
| 275 | providerType: string; |
| 276 | providerSettings: any; |
| 277 | listProvider: any; |
| 278 | }[], |
| 279 | type, |
| 280 | getListF, |
| 281 | ) { |
| 282 | const typeArray: any = []; |
| 283 | |
| 284 | const tempMode = getSyncMode(type); |
| 285 | const masterMode = tempMode === 'MALAPI' ? 'MAL' : tempMode; |
| 286 | |
| 287 | const listP: any = []; |
| 288 | |
| 289 | providerList.forEach(pi => { |
| 290 | pi.providerSettings.text = api.storage.lang('Loading'); |
| 291 | // @ts-ignore |
| 292 | listP.push( |
| 293 | getListF(pi.listProvider, type) |
| 294 | .then((list: any) => { |
| 295 | pi.providerSettings.list = list; |
| 296 | pi.providerSettings.text = api.storage.lang('settings_listsync_provider_done'); |
| 297 | if (masterMode === pi.providerType) pi.providerSettings.master = true; |
| 298 | typeArray.push(pi.providerType); |
| 299 | }) |
| 300 | .catch(e => { |
| 301 | pi.providerSettings.text = e; |
| 302 | }), |
| 303 | ); |
| 304 | }); |
| 305 | |
| 306 | await Promise.all(listP); |
| 307 | |
| 308 | let master = false; |
| 309 | const slaves: any = []; |
| 310 | |
| 311 | providerList.forEach(function (pi) { |
| 312 | if (pi.providerSettings.master) { |
| 313 | master = pi.providerSettings.list; |
| 314 | } else if (pi.providerSettings.list !== null) slaves.push(pi.providerSettings.list); |
| 315 | }); |
| 316 | |
| 317 | return { |
| 318 | master, |
| 319 | slaves, |
| 320 | typeArray, |
| 321 | }; |
| 322 | } |
| 323 | |
| 324 | export function getListProvider(providerSettingList) { |
| 325 | return [ |
no test coverage detected