Skip to content
ZOLO / TE763 Type · error

value does not implement the browser Wire contract

Compiler diagnostic TE763: value does not implement the browser Wire contract.

Verniz found a value that would cross between Zolo and browser TypeScript but does not have one deterministic JSON representation. The bridge never replaces that value with TypeScript any.

The first Wire slice accepts nil, booleans, strings, numbers, arrays, tuples, string-keyed maps, anonymous records, optional values, unions, and concrete structs or tagged enums decorated with @wire. Action parameters must have explicit types. Functions, closures, handles, ResourceFs, inferred fields, non-string map keys, and unmarked user types stay on their origin side.

@wire
struct SaveInput {
  title: str,
  tags: [str],
}

@action
fn save(input: SaveInput) -> Result<nil, str> {
  // ...
}

For dates, bytes, decimals, or big integers, keep the value server-side or add an explicit codec once that codec surface is available. Do not widen the type to Any: doing so would remove the guarantee the diagnostic protects.

See also: TE764 and the Verniz Sites bridge specification.

Global index

Find your way through Zolo

Try an idea

Start here

9 results

9 results

en