fsrs-browser
Version:
FSRS for the browser, including Optimizer and Scheduler
146 lines (139 loc) • 7.2 kB
TypeScript
/* tslint:disable */
/* eslint-disable */
export function start(): void;
export function initThreadPool(num_threads: number): Promise<any>;
export function wbg_rayon_start_worker(receiver: number): void;
export class Fsrs {
free(): void;
constructor(parameters?: Float32Array | null);
/**
* `minute_offset` should be the `user's timezone offset from UTC` minus `Anki's "next day starts at"`, in minutes.
*/
computeParametersAnki(minute_offset: number, cids: BigInt64Array, eases: Uint8Array, ids: BigInt64Array, types: Uint8Array, progress: Progress | null | undefined, enable_short_term: boolean): Float32Array;
computeParameters(ratings: Uint32Array, delta_ts: Uint32Array, lengths: Uint32Array, progress: Progress | null | undefined, enable_short_term: boolean): Float32Array;
/**
* Returns an array of 2 elements: `[stability, difficulty]`
*/
memoryState(ratings: Uint32Array, delta_ts: Uint32Array): Float32Array;
/**
* `minute_offset` should be the `user's timezone offset from UTC` minus `Anki's "next day starts at"`, in minutes.
* Returns an array of 2 elements: `[stability, difficulty]`
*/
memoryStateAnki(minute_offset: number, cids: BigInt64Array, eases: Uint8Array, ids: BigInt64Array, types: Uint8Array): Float32Array | undefined;
nextInterval(stability: number | null | undefined, desired_retention: number, rating: number): number;
nextStates(stability: number | null | undefined, difficulty: number | null | undefined, desired_retention: number, days_elapsed: number): NextStates;
}
export class ItemState {
private constructor();
free(): void;
memory: MemoryState;
interval: number;
}
export class MemoryState {
private constructor();
free(): void;
stability: number;
difficulty: number;
}
export class NextStates {
private constructor();
free(): void;
again: ItemState;
hard: ItemState;
good: ItemState;
easy: ItemState;
}
export class Progress {
private constructor();
free(): void;
static new(): Progress;
/**
* Memory will hold [items_processed, items_total]
*/
pointer(): number;
}
export class wbg_rayon_PoolBuilder {
private constructor();
free(): void;
numThreads(): number;
receiver(): number;
build(): void;
}
export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
export interface InitOutput {
readonly __wbg_fsrs_free: (a: number, b: number) => void;
readonly fsrs_new: (a: number, b: number) => number;
readonly fsrs_computeParametersAnki: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number) => [number, number];
readonly fsrs_computeParameters: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number];
readonly fsrs_memoryState: (a: number, b: number, c: number, d: number, e: number) => [number, number];
readonly fsrs_memoryStateAnki: (a: number, b: number, c: number, d: number, e: any, f: number, g: number, h: number, i: number, j: number, k: number) => [number, number];
readonly fsrs_nextInterval: (a: number, b: number, c: number, d: number) => number;
readonly fsrs_nextStates: (a: number, b: number, c: number, d: number, e: number) => number;
readonly start: () => void;
readonly __wbg_memorystate_free: (a: number, b: number) => void;
readonly __wbg_get_memorystate_stability: (a: number) => number;
readonly __wbg_set_memorystate_stability: (a: number, b: number) => void;
readonly __wbg_get_memorystate_difficulty: (a: number) => number;
readonly __wbg_set_memorystate_difficulty: (a: number, b: number) => void;
readonly __wbg_nextstates_free: (a: number, b: number) => void;
readonly __wbg_get_nextstates_again: (a: number) => number;
readonly __wbg_set_nextstates_again: (a: number, b: number) => void;
readonly __wbg_get_nextstates_hard: (a: number) => number;
readonly __wbg_set_nextstates_hard: (a: number, b: number) => void;
readonly __wbg_get_nextstates_good: (a: number) => number;
readonly __wbg_set_nextstates_good: (a: number, b: number) => void;
readonly __wbg_get_nextstates_easy: (a: number) => number;
readonly __wbg_set_nextstates_easy: (a: number, b: number) => void;
readonly __wbg_itemstate_free: (a: number, b: number) => void;
readonly __wbg_get_itemstate_memory: (a: number) => number;
readonly __wbg_set_itemstate_memory: (a: number, b: number) => void;
readonly __wbg_get_itemstate_interval: (a: number) => number;
readonly __wbg_set_itemstate_interval: (a: number, b: number) => void;
readonly __wbg_progress_free: (a: number, b: number) => void;
readonly progress_new: () => number;
readonly progress_pointer: (a: number) => number;
readonly __wbg_wbg_rayon_poolbuilder_free: (a: number, b: number) => void;
readonly wbg_rayon_poolbuilder_numThreads: (a: number) => number;
readonly wbg_rayon_poolbuilder_receiver: (a: number) => number;
readonly wbg_rayon_poolbuilder_build: (a: number) => void;
readonly initThreadPool: (a: number) => any;
readonly wbg_rayon_start_worker: (a: number) => void;
readonly __wbindgen_exn_store: (a: number) => void;
readonly __externref_table_alloc: () => number;
readonly __wbindgen_export_2: WebAssembly.Table;
readonly __wbindgen_free: (a: number, b: number, c: number) => void;
readonly memory: WebAssembly.Memory;
readonly __wbindgen_malloc: (a: number, b: number) => number;
readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
readonly __wbindgen_thread_destroy: (a?: number, b?: number, c?: number) => void;
readonly __wbindgen_start: (a: number) => void;
}
export type SyncInitInput = BufferSource | WebAssembly.Module;
/**
* Instantiates the given `module`, which can either be bytes or
* a precompiled `WebAssembly.Module`.
*
* @param {{ module: SyncInitInput, memory?: WebAssembly.Memory, thread_stack_size?: number }} module - Passing `SyncInitInput` directly is deprecated.
* @param {WebAssembly.Memory} memory - Deprecated.
*
* @returns {InitOutput}
*/
export function initSync(module: { module: SyncInitInput, memory?: WebAssembly.Memory, thread_stack_size?: number } | SyncInitInput, memory?: WebAssembly.Memory): InitOutput;
/**
* If `module_or_path` is {RequestInfo} or {URL}, makes a request and
* for everything else, calls `WebAssembly.instantiate` directly.
*
* @param {{ module_or_path: InitInput | Promise<InitInput>, memory?: WebAssembly.Memory, thread_stack_size?: number }} module_or_path - Passing `InitInput` directly is deprecated.
* @param {WebAssembly.Memory} memory - Deprecated.
*
* @returns {Promise<InitOutput>}
*/
export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise<InitInput>, memory?: WebAssembly.Memory, thread_stack_size?: number } | InitInput | Promise<InitInput>, memory?: WebAssembly.Memory): Promise<InitOutput>;
/**
* Do not use this function after the completion of `computeParameters` or `computeParametersAnki`.
* Data returned after completion will be random!
*/
export function getProgress(wasmMemoryBuffer: ArrayBuffer, pointer: number): {
itemsProcessed: number;
itemsTotal: number;
};