Crate domainstack_wasm

Crate domainstack_wasm 

Source
Expand description

§domainstack-wasm

WASM browser validation for domainstack. Run the same validation logic in both browser and server.

§Quick Start

import { createValidator } from '@domainstack/wasm';

const validator = await createValidator();
const result = validator.validate('Booking', {
  guest_email: 'invalid',
  rooms: 15
});

if (!result.ok) {
  result.errors?.forEach(e => console.log(e.path, e.message));
}

§Architecture

This crate provides a thin WASM layer over domainstack validation. Types are registered at compile time, and validation is dispatched by type name at runtime.

Structs§

SystemError
System-level error (not a validation failure).
TypeRegistry
Registry of type validators.
ValidationError
Represents a collection of validation violations.
ValidationResult
Result of a validation operation.
Validator
Validator instance for TypeScript ergonomics.
WasmViolation
A validation violation, serializable for WASM.

Enums§

DispatchError
Internal error type for dispatch operations

Traits§

DeserializeOwned
A data structure that can be deserialized without borrowing any data from the deserializer.
Validate

Functions§

create_validator
Create a validator instance.
get_registered_types
Get list of registered type names.
has_type
Check if a type is registered.
init
Initialize panic hook for better error messages in browser console. Call this once at application startup.
is_type_registered
Check if a type is registered
register_type
Register a type for WASM validation.
registered_types
Get list of all registered type names
validate
Validate JSON data against a registered type.
validate_object
Validate a JavaScript object against a registered type.

Type Aliases§

ValidateFn
Function signature for type validators

Derive Macros§

Validate