@fcc-cdc/it-events
Version:
IT Events Crawler of China
30 lines (29 loc) • 1.04 kB
TypeScript
import { DataCrawler } from '../core/Crawler';
export type Mentor = Partial<Record<'name' | 'avatar' | 'position' | 'summary', string>>;
export type Duration = Partial<Record<'startTime' | 'endTime', string>>;
export type Forum = Duration & Pick<Mentor, 'name' | 'summary'>;
export interface Agenda extends Duration, Pick<Forum, 'summary'> {
title?: string;
mentor?: Mentor;
forum?: Forum;
}
export declare abstract class AgendaCrawler<A extends Agenda = Agenda, M extends Mentor = Mentor, F extends Forum = Forum> extends DataCrawler<A> {
mentors: M[];
forums: F[];
makeYAML(agendas: A[]): string;
makeCSV(agendas: A[]): {
mentors: M[];
forums: F[];
agendas: (Omit<A, "mentor" | "forum"> & {
mentor: string;
forum: string;
})[];
};
saveCSV(agendas: A[], folder: string): Promise<void>;
saveImagesTo(folder: string): Promise<void>;
saveList(URI: string): Promise<{
list: A[];
folder: string;
file: string;
}>;
}