(slave, pageType)
| 224 | |
| 225 | // eslint-disable-next-line consistent-return |
| 226 | export function syncItem(slave, pageType) { |
| 227 | if (Object.keys(slave.diff).length !== 0) { |
| 228 | let singleClass: any; |
| 229 | if (pageType === 'MAL') { |
| 230 | singleClass = new MalSingle(slave.url); |
| 231 | } else if (pageType === 'ANILIST') { |
| 232 | singleClass = new AniListSingle(slave.url); |
| 233 | } else if (pageType === 'KITSU') { |
| 234 | singleClass = new KitsuSingle(slave.url); |
| 235 | } else if (pageType === 'SIMKL') { |
| 236 | singleClass = new SimklSingle(slave.url); |
| 237 | } else if (pageType === 'SHIKI') { |
| 238 | singleClass = new ShikiSingle(slave.url); |
| 239 | } else if (pageType === 'MANGABAKA') { |
| 240 | singleClass = new BakaSingle(slave.url); |
| 241 | } else { |
| 242 | throw 'No sync type'; |
| 243 | } |
| 244 | singleClass.setSyncMethod('listSync'); |
| 245 | |
| 246 | return singleClass |
| 247 | .update() |
| 248 | .then(() => { |
| 249 | if (typeof slave.diff.score !== 'undefined') singleClass.setScore(slave.diff.score); |
| 250 | if (typeof slave.diff.watchedEp !== 'undefined') |
| 251 | singleClass.setEpisode(slave.diff.watchedEp); |
| 252 | if (typeof slave.diff.readVol !== 'undefined') singleClass.setVolume(slave.diff.readVol); |
| 253 | if (typeof slave.diff.status !== 'undefined') |
| 254 | singleClass.setStatus(normalizeStatus(slave.diff.status)); |
| 255 | // 'null' is valid for start/finish date |
| 256 | if (slave.diff.startDate !== undefined) singleClass.setStartDate(slave.diff.startDate); |
| 257 | if (slave.diff.finishDate !== undefined) singleClass.setFinishDate(slave.diff.finishDate); |
| 258 | if (typeof slave.diff.rewatchCount !== 'undefined') |
| 259 | singleClass.setRewatchCount(slave.diff.rewatchCount); |
| 260 | return singleClass.sync(); |
| 261 | }) |
| 262 | .then(() => { |
| 263 | return utils.wait(3000); |
| 264 | }) |
| 265 | .catch(async e => { |
| 266 | await utils.wait(3000); |
| 267 | throw e; |
| 268 | }); |
| 269 | } |
| 270 | } |
| 271 | |
| 272 | // retrive lists |
| 273 | export async function retriveLists( |
no test coverage detected