helwasm: store-on-correct, store button reflects existence, use stored spec
- new read-only export hel_entry(name): the entry's canonical stored form, or "" - Mark correct now also stores the name (keeps the entry); unmark keeps the stored name and just drops the hash (wraps add/rm for an ephemeral entry so the right hash is removed) - Store button shows "Stored ✓" (disabled, ocean outline) when the name is already in the catalog, "Store" otherwise - when a typed name already exists, the field adopts the full stored spec on blur (real mode/seq/date/parent) instead of a default-extended parse
This commit is contained in:
Vendored
+10
-1
@@ -6,6 +6,14 @@
|
||||
*/
|
||||
export function hel_command(cmd: string): string;
|
||||
|
||||
/**
|
||||
* Look up an entry by its exact name and return its canonical stored form
|
||||
* (`name [len]mode seq date comment ^parent`), or "" if it is not in the catalog.
|
||||
* Read-only. The UI uses this to detect "already stored" and to use the real stored
|
||||
* spec (its mode/seq/date/parent) instead of the bare name the user typed.
|
||||
*/
|
||||
export function hel_entry(name: string): string;
|
||||
|
||||
/**
|
||||
* Call once at page load: routes Rust panics to the browser console with a
|
||||
* readable message + stack instead of an opaque "unreachable" trap.
|
||||
@@ -38,11 +46,12 @@ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembl
|
||||
|
||||
export interface InitOutput {
|
||||
readonly memory: WebAssembly.Memory;
|
||||
readonly hel_init: () => void;
|
||||
readonly hel_command: (a: number, b: number) => [number, number];
|
||||
readonly hel_entry: (a: number, b: number) => [number, number];
|
||||
readonly hel_load_script: (a: number, b: number) => [number, number];
|
||||
readonly hel_parse: (a: number, b: number) => [number, number];
|
||||
readonly hel_parse_name: (a: number, b: number) => [number, number];
|
||||
readonly hel_init: () => void;
|
||||
readonly __wbindgen_free: (a: number, b: number, c: number) => void;
|
||||
readonly __wbindgen_malloc: (a: number, b: number) => number;
|
||||
readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
|
||||
|
||||
@@ -20,6 +20,29 @@ export function hel_command(cmd) {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Look up an entry by its exact name and return its canonical stored form
|
||||
* (`name [len]mode seq date comment ^parent`), or "" if it is not in the catalog.
|
||||
* Read-only. The UI uses this to detect "already stored" and to use the real stored
|
||||
* spec (its mode/seq/date/parent) instead of the bare name the user typed.
|
||||
* @param {string} name
|
||||
* @returns {string}
|
||||
*/
|
||||
export function hel_entry(name) {
|
||||
let deferred2_0;
|
||||
let deferred2_1;
|
||||
try {
|
||||
const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
||||
const len0 = WASM_VECTOR_LEN;
|
||||
const ret = wasm.hel_entry(ptr0, len0);
|
||||
deferred2_0 = ret[0];
|
||||
deferred2_1 = ret[1];
|
||||
return getStringFromWasm0(ret[0], ret[1]);
|
||||
} finally {
|
||||
wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Call once at page load: routes Rust panics to the browser console with a
|
||||
* readable message + stack instead of an opaque "unreachable" trap.
|
||||
|
||||
Binary file not shown.
Vendored
+2
-1
@@ -1,11 +1,12 @@
|
||||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
export const memory: WebAssembly.Memory;
|
||||
export const hel_init: () => void;
|
||||
export const hel_command: (a: number, b: number) => [number, number];
|
||||
export const hel_entry: (a: number, b: number) => [number, number];
|
||||
export const hel_load_script: (a: number, b: number) => [number, number];
|
||||
export const hel_parse: (a: number, b: number) => [number, number];
|
||||
export const hel_parse_name: (a: number, b: number) => [number, number];
|
||||
export const hel_init: () => void;
|
||||
export const __wbindgen_free: (a: number, b: number, c: number) => void;
|
||||
export const __wbindgen_malloc: (a: number, b: number) => number;
|
||||
export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
|
||||
|
||||
Reference in New Issue
Block a user