Initial commit
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
export interface AppConfig {
|
||||
server: {
|
||||
port: number;
|
||||
};
|
||||
selenium: {
|
||||
remoteUrl: string;
|
||||
browser: string;
|
||||
};
|
||||
cache: {
|
||||
basePath: string;
|
||||
};
|
||||
addons: {
|
||||
directory: string;
|
||||
};
|
||||
}
|
||||
|
||||
export interface TocSelector {
|
||||
scope: string;
|
||||
linkPattern: string;
|
||||
}
|
||||
|
||||
export interface ContentSelector {
|
||||
scope: string;
|
||||
}
|
||||
|
||||
export interface StealthConfig {
|
||||
enabled: boolean;
|
||||
waitMs: number;
|
||||
addons: string[];
|
||||
}
|
||||
|
||||
export interface DownloadConfig {
|
||||
parallelism: number;
|
||||
minContentBytes: number;
|
||||
}
|
||||
|
||||
export interface NovelDefinition {
|
||||
slug: string;
|
||||
type: 'epub' | 'web-scraped';
|
||||
source: {
|
||||
url?: string;
|
||||
urls?: string[];
|
||||
};
|
||||
selectors?: {
|
||||
toc?: TocSelector;
|
||||
content?: ContentSelector;
|
||||
};
|
||||
stealth?: StealthConfig;
|
||||
download?: DownloadConfig;
|
||||
}
|
||||
|
||||
export interface NovelsConfig {
|
||||
novels: NovelDefinition[];
|
||||
}
|
||||
Reference in New Issue
Block a user