@rep2recall/r2r-format
Version:
R2r (offline/online) abstract class for Rep2Recall
47 lines • 2.13 kB
TypeScript
import Anki from "ankisync";
import { R2rLocal } from ".";
import { ICondOptions, IEntry, IPagedOutput, IRender, ISortedData, IProgress } from "./util";
export interface IMedia {
name: string;
h: string;
data: ArrayBuffer;
}
export declare abstract class R2rFormat {
abstract build(): Promise<this>;
abstract close(): Promise<this>;
abstract reset(): Promise<this>;
abstract parseCond(q: string, options: ICondOptions<IEntry>): Promise<IPagedOutput<Partial<IEntry>>>;
abstract insertMany(entries: IEntry[]): Promise<string[]>;
abstract updateMany(ids: string[], u: Partial<IEntry>): Promise<void>;
abstract addTags(ids: string[], tags: string[]): Promise<void>;
abstract removeTags(ids: string[], tags: string[]): Promise<void>;
abstract deleteMany(ids: string[]): Promise<void>;
abstract render(cardId: string): Promise<IRender>;
abstract fromR2r(r2r: R2rLocal, options?: {
filename?: string;
callback?: (p: IProgress) => void;
}): Promise<void>;
abstract export(r2r: R2rLocal, q: string, options?: {
callback?: (p: IProgress) => void;
}): Promise<void>;
abstract fromAnki(anki: Anki, options?: {
filename?: string;
callback?: (p: IProgress) => void;
}): Promise<void>;
abstract getMedia(h: string): Promise<IMedia | null>;
abstract allMedia(): Promise<IMedia[]>;
abstract createMedia(m: {
name: string;
data: ArrayBuffer;
}): Promise<string>;
abstract deleteMedia(h: string): Promise<boolean>;
protected abstract updateSrsLevel(dSrsLevel: number, cardId: string): Promise<void>;
protected abstract transformCreateOrUpdate(cardId: string | null, u: Partial<IEntry>, timestamp: Date): Promise<Partial<IEntry>>;
protected abstract getData(cardId: string): Promise<ISortedData | null>;
protected abstract getFront(cardId: string): Promise<string>;
markRight(cardId: string): Promise<void>;
markWrong(cardId: string): Promise<void>;
getTemplateKey(t: any): string;
getNoteKey(data: Record<string, any>): string;
}
//# sourceMappingURL=format.d.ts.map