aboutsummaryrefslogtreecommitdiff
path: root/web/src/wasm.d.ts
diff options
context:
space:
mode:
authorsrdusr <trevorgray@srdusr.com>2025-09-26 13:39:28 +0200
committersrdusr <trevorgray@srdusr.com>2025-09-26 13:39:28 +0200
commit8d60c7f93407988ee0232ea90980028f299cb0f3 (patch)
treeb343b691d1bce64fb3bc9b40324857486f2be244 /web/src/wasm.d.ts
parent76f0d0e902e6ed164704572bd81faa5e5e560cf3 (diff)
downloadtyperpunk-8d60c7f93407988ee0232ea90980028f299cb0f3.tar.gz
typerpunk-8d60c7f93407988ee0232ea90980028f299cb0f3.zip
Initial Commit
Diffstat (limited to 'web/src/wasm.d.ts')
-rw-r--r--web/src/wasm.d.ts25
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