Skip to main content

typespec_rs/libs/
mod.rs

1//! TypeSpec Library Modules
2//!
3//! This module contains the TypeSpec standard library extensions,
4//! ported from the TypeScript packages under @typespec/*.
5//!
6//! Each sub-module represents a library that provides:
7//! - .tsp type definitions (decorator declarations, models, scalars, etc.)
8//! - Rust decorator implementations
9//! - Validation logic
10//! - Diagnostic definitions
11//!
12//! Currently ported libraries:
13//! - `compiler` - TypeSpec std decorators (@doc, @tag, @key, @error, @format, paging, examples, etc.)
14//! - `http` - @typespec/http: HTTP protocol decorators and types
15//! - `xml` - @typespec/xml: XML serialization decorators and types
16//! - `streams` - @typespec/streams: Stream protocol types
17//! - `sse` - @typespec/sse: Server-Sent Events types
18//! - `events` - @typespec/events: Event system decorators
19//! - `rest` - @typespec/rest: REST API decorators and resource types
20//! - `protobuf` - @typespec/protobuf: Protocol Buffers types and decorators
21//! - `openapi` - @typespec/openapi: OpenAPI annotations and types
22//! - `versioning` - @typespec/versioning: API versioning decorators
23//!
24//! Utility modules:
25//! - `uri_template` - RFC 6570 URI template parser
26//! - `status_codes` - HTTP status code validation
27//! - `content_types` - HTTP content type resolution
28//! - `json_schema` - @typespec/json-schema: JSON Schema decorators and types
29//! - `openapi3` - @typespec/openapi3: OpenAPI 3.x emitter decorators and types
30
31#[macro_use]
32pub mod decorator_macros;
33pub mod compiler;
34pub mod content_types;
35pub mod events;
36pub mod http;
37pub mod json_schema;
38pub mod openapi;
39pub mod openapi3;
40pub mod protobuf;
41pub mod rest;
42pub mod sse;
43pub mod status_codes;
44pub mod streams;
45pub mod uri_template;
46pub mod versioning;
47pub mod xml;