Skip to main content

Module serve

Module serve 

Source
Expand description

WASM Serve Module - Browser-based data serving and sharing

This module provides functionality for serving datasets, courses, and other content types through WASM-based browser applications with optional P2P sharing.

§Design Principles

  1. Browser-First - Full functionality in WASM without server dependencies
  2. Plugin Architecture - Extensible type system for arbitrary content
  3. Zero-Server Option - P2P sharing via WebRTC
  4. Schema-Driven - YAML/JSON configuration for type definitions

§Example

use alimentar::serve::{PluginRegistry, ContentTypeId};

let registry = PluginRegistry::new();
let plugin = registry.get(&ContentTypeId::dataset()).unwrap();

Structs§

ContentMetadata
Metadata associated with serveable content
ContentSchema
Schema definition for content validation and UI generation
ContentTypeId
Unique identifier for content types
DatasetPlugin
Dataset plugin for Arrow/Parquet datasets
FieldDefinition
Field definition with type and constraints
PluginRegistry
Registry for content plugins
RawSource
Raw source data container
RawSourceConfig
Configuration for raw source parsing
RenderHints
Rendering hints for trueno-viz integration
ValidationReport
Validation report for content integrity checks
ValidatorDefinition
Validator definition for custom validation logic

Enums§

Constraint
Constraint definition for field validation
FieldType
Field type enumeration
SourceType
Source type for raw data

Traits§

ContentPlugin
Plugin interface for extending alimentar with new content types
ServeableContent
Trait for any content that can be served via WASM