@houdoku/extension-mangalife
Version:
{"id":"859e5a3d-8ee4-4e38-b270-c8c3c80771d2","name":"MangaLife","url":"https://manga4life.com","version":"1.4.2","translatedLanguage":"ENGLISH","hasSettings":false}
66 lines (50 loc) • 2.15 kB
text/typescript
import {
GetSeriesFunc,
GetChaptersFunc,
GetPageRequesterDataFunc,
GetPageUrlsFunc,
GetSearchFunc,
GetImageFunc,
ExtensionMetadata,
GetDirectoryFunc,
ExtensionClientAbstract,
Series,
PageRequesterData,
SetSettingsFunc,
GetSettingsFunc,
GetSettingTypesFunc,
FilterValues,
} from "houdoku-extension-lib";
import metadata from "./metadata.json";
import { parseMetadata } from "../../util/configuring";
import { NepClient } from "../../generic/nep/nep";
import { GetFilterOptionsFunc, UtilFunctions } from "houdoku-extension-lib/dist/interface";
export const METADATA: ExtensionMetadata = parseMetadata(metadata);
export class ExtensionClient extends ExtensionClientAbstract {
nepClient: NepClient;
constructor(utilFns: UtilFunctions) {
super(utilFns);
this.nepClient = new NepClient(METADATA.id, METADATA.url, utilFns);
}
getMetadata: () => ExtensionMetadata = () => {
return METADATA;
};
getSeries: GetSeriesFunc = (id: string) => this.nepClient.getSeries(id);
getChapters: GetChaptersFunc = (id: string) => this.nepClient.getChapters(id);
getPageRequesterData: GetPageRequesterDataFunc = (
seriesSourceId: string,
chapterSourceId: string
) => this.nepClient.getPageRequesterData(seriesSourceId, chapterSourceId);
getPageUrls: GetPageUrlsFunc = (pageRequesterData: PageRequesterData) =>
this.nepClient.getPageUrls(pageRequesterData);
getImage: GetImageFunc = (series: Series, url: string) => this.nepClient.getImage(series, url);
getDirectory: GetDirectoryFunc = (page: number, filterValues: FilterValues) =>
this.nepClient.getDirectory(page, filterValues);
getSearch: GetSearchFunc = (text: string, page: number, filterValues: FilterValues) =>
this.nepClient.getSearch(text, page, filterValues);
getSettingTypes: GetSettingTypesFunc = () => this.nepClient.getSettingTypes();
getSettings: GetSettingsFunc = () => this.nepClient.getSettings();
setSettings: SetSettingsFunc = (newSettings: { [key: string]: any }) =>
this.nepClient.setSettings(newSettings);
getFilterOptions: GetFilterOptionsFunc = () => this.nepClient.getFilterOptions();
}