@tsed/schema
Version:
JsonSchema module for Ts.ED Framework
49 lines (48 loc) • 1.47 kB
TypeScript
/**
* Create a string schema programmatically.
*
* This function provides a fluent API for building string schemas without decorators.
* It returns a JsonSchema instance configured for string type, which can be further
* customized with validation constraints, formats, and other JSON Schema properties.
*
* ### Usage
*
* ```typescript
* import {string} from "@tsed/schema";
*
* // Basic string schema
* const nameSchema = string();
*
* // String with constraints
* const emailSchema = string()
* .format("email")
* .minLength(5)
* .maxLength(100)
* .description("User email address");
*
* // String with pattern
* const phoneSchema = string()
* .pattern(/^\d{3}-\d{3}-\d{4}$/)
* .description("Phone number in format: 123-456-7890");
*
* // Enum string
* const statusSchema = string()
* .enum("active", "inactive", "pending");
* ```
*
* ### Available Methods
*
* The returned JsonSchema provides many chainable methods:
* - `minLength(n)` / `maxLength(n)` - Length constraints
* - `pattern(regex)` - Pattern matching
* - `format(type)` - Format validation (email, uri, date-time, etc.)
* - `enum(...values)` - Restrict to specific values
* - `description(text)` - Add description
* - `default(value)` - Set default value
* - `nullable()` - Allow null values
*
* @returns A new JsonSchema configured as a string type
*
* @public
*/
export declare function string(): import("../index.js").JsonSchema<string>;