@tucmc/hazel
Version:
Clubs Data Processing Framework
45 lines (44 loc) • 1.48 kB
TypeScript
import { DMap } from '../../util/data/DMap';
import type { ReferableMapEntity } from '../../util/data/ReferableEntity';
import type { MainClubIDType } from '../types/ClubID';
import type { EvaluateType, IEvaluateResult } from '../types/Evaluate';
import type { IUserData } from '../types/UserData';
import type { DocumentTemplate } from './DocumentTemplate';
interface IClubMemberData {
all: DMap<string, IEvaluateResult>;
passed: EvaluateType[] | undefined;
failed: EvaluateType[] | undefined;
break: EvaluateType[] | undefined;
resign: EvaluateType[] | undefined;
}
export declare class EvaluationDocument {
private readonly clubID;
private clubMemberData;
private docInfo;
private userMap;
constructor(clubID: MainClubIDType, docInfo: {
semester: string;
year: string;
}, clubMemberData: IClubMemberData, uMap: DMap<string, ReferableMapEntity<IUserData>>);
protected createDocumentHeading(): {
club: string;
clubId: string;
sem: string;
year: string;
count: number;
pass: string;
failed: string;
exc: string;
};
protected createSortedDetailedList(memberData: EvaluateType[]): {
c: string;
name: string;
grade: string;
room: string;
e: string;
}[];
private fillBlank;
private sliceToPrintableChunk;
generate(docTemplate: DocumentTemplate, fileName: string): Promise<void>;
}
export {};