fsrs-algorithm
Version:
Free Spaced Repetition Scheduler (FSRS) algorithm implementation in TypeScript
42 lines • 1.24 kB
TypeScript
import { Card, RawCardData } from "../types";
export declare class CardValidator {
/**
* Validates and converts raw card data to a Card object
* @param rawData - The raw card data from database/API
* @returns A validated Card object
* @throws Error if validation fails
*/
static validateAndConvert(rawData: RawCardData): Card;
/**
* Validates and converts a state string to State enum
*/
private static validateState;
/**
* Validates and converts a date string/Date to Date object
*/
private static validateDate;
/**
* Validates and converts a number
*/
private static validateNumber;
/**
* Validates and converts an integer
*/
private static validateInteger;
/**
* Batch validate and convert multiple cards
*/
static validateAndConvertBatch(rawDataArray: RawCardData[]): {
valid: Card[];
errors: Array<{
index: number;
error: string;
data: RawCardData;
}>;
};
/**
* Checks if a raw object might be valid card data (loose validation)
*/
static isCardDataShape(obj: any): obj is RawCardData;
}
//# sourceMappingURL=cardValidator.d.ts.map