manga-crawl-lib
Version:
A library for scraping manga from various websites.
57 lines (53 loc) • 1.75 kB
text/typescript
/* eslint-disable @typescript-eslint/no-empty-function */
import { MangaType } from '../constants/manga';
import { Nettruyen } from '../lib/nettruyen';
import { AbstractMangaFactory, constructorParams } from '../types/type';
import { AsuraScans } from './asurascans';
import { Blogtruyen } from './blogtruyen';
import { Toonily } from './toonily';
import { Mangadex } from './mangadex';
export class Manga {
constructor() {}
build(type: MangaType, params?: constructorParams): AbstractMangaFactory {
switch (type) {
case MangaType.NETTRUYEN: {
return new Nettruyen(
params !== undefined && params.baseUrl !== undefined
? params.baseUrl
: 'https://www.nettruyenmax.com'
);
}
case MangaType.TOONILY: {
return new Toonily(
params !== undefined && params.baseUrl !== undefined
? params.baseUrl
: 'https://toonily.com'
);
}
case MangaType.ASURASCANS: {
return new AsuraScans(
params !== undefined && params.baseUrl !== undefined
? params.baseUrl
: 'https://www.asurascans.com'
);
}
case MangaType.BLOGTRUYEN: {
return new Blogtruyen(
params !== undefined && params.baseUrl !== undefined
? params.baseUrl
: 'https://blogtruyen.vn'
);
}
case MangaType.MANGADEX: {
return new Mangadex(
params !== undefined && params.baseUrl !== undefined
? params.baseUrl
: 'https://mangadex.org'
)
}
default: {
return new Nettruyen('https://www.nettruyenmax.com');
}
}
}
}