diff options
| author | srdusr <trevorgray@srdusr.com> | 2025-09-26 13:39:28 +0200 |
|---|---|---|
| committer | srdusr <trevorgray@srdusr.com> | 2025-09-26 13:39:28 +0200 |
| commit | 8d60c7f93407988ee0232ea90980028f299cb0f3 (patch) | |
| tree | b343b691d1bce64fb3bc9b40324857486f2be244 /web/src/wasm.d.ts | |
| parent | 76f0d0e902e6ed164704572bd81faa5e5e560cf3 (diff) | |
| download | typerpunk-8d60c7f93407988ee0232ea90980028f299cb0f3.tar.gz typerpunk-8d60c7f93407988ee0232ea90980028f299cb0f3.zip | |
Initial Commit
Diffstat (limited to 'web/src/wasm.d.ts')
| -rw-r--r-- | web/src/wasm.d.ts | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/web/src/wasm.d.ts b/web/src/wasm.d.ts new file mode 100644 index 0000000..6692774 --- /dev/null +++ b/web/src/wasm.d.ts @@ -0,0 +1,25 @@ +export class TyperPunkGame { + constructor(text: string); + handle_input(input: string): Result<void, string>; + handle_backspace(ctrl: boolean): Result<boolean, string>; + get_stats(): Result<[number, number], string>; + get_stats_and_input(): Result<[string, number, number], string>; + is_finished(): boolean; + can_backspace_to_position(position: number): boolean; + get_current_word_start(): number; + set_text(text: string): Result<void, string>; + get_text(): string; + get_input(): string; + start(): void; + get_wpm(): number; + get_time_elapsed(): number; + get_raw_wpm(): number; + free(): void; +} + +export type Result<T, E> = { + isOk(): boolean; + isErr(): boolean; + unwrap(): T; + unwrapErr(): E; +};
\ No newline at end of file |
