StringSchema class final

Matches JSON strings, with optional length/pattern constraints.

Inheritance

Constructors

StringSchema({int? minLength, int? maxLength, String? patternSource, String? format})

Properties

defaultValue → Object?
The default supplied when providesDefault is true.
no setterinherited
format → String?
JSON Schema format hint (e.g. email), set by email.
final
hashCode → int
The hash code for this object.
no setterinherited
isOptional → bool
Whether an object field using this schema may be omitted entirely.
no setterinherited
maxLength → int?
final
minLength → int?
final
patternSource → String?
final
providesDefault → bool
Whether this schema supplies a default when the value is missing.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

describe(String description) → Schema<String>
Attaches a description, included in toJsonSchema. Descriptions are the main way to tell an LLM what a field means — use them liberally.
inherited
email() → StringSchema
Requires a plausible email address.
max(int length) → StringSchema
Requires at most length characters.
min(int length) → StringSchema
Requires at least length characters.
nonEmpty() → StringSchema
Requires a non-empty string.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
nullable() → Schema<String?>
Accepts null in addition to values matching this schema.
inherited
optional() → Schema<String>
Marks an object field as omittable. When the key is absent the field is left out of the resulting map (no error is reported).
inherited
parse(Object? input) → String
Validates a decoded JSON value, throwing SchemaValidationException on failure.
inherited
parseText(String text) → String
Extracts JSON from raw LLM text and validates it, throwing SchemaValidationException on failure.
inherited
pattern(String source) → StringSchema
Requires the string to match source (a regular expression).
refine(bool predicate(String value), {String? message}) → Schema<String>
Adds a custom check on the validated value.
inherited
safeParse(Object? input) → SchemaResult<String>
Validates a decoded JSON value. Never throws; returns a SchemaSuccess or a SchemaFailure carrying every issue found.
inherited
safeParseText(String text) → SchemaResult<String>
Extracts JSON from raw LLM text and validates it. Never throws.
inherited
toJsonSchema() → Map<String, Object?>
This schema expressed as a JSON Schema map, suitable for LLM tool-parameter definitions and structured-output APIs.
override
toJsonSchemaString({bool pretty = false}) → String
toJsonSchema encoded as a JSON string.
inherited
toString() → String
A string representation of this object.
inherited
transform<R>(R mapper(String value)) → Schema<R>
Maps the validated value with mapper. Exceptions thrown by mapper are converted into validation issues.
inherited
validateAt(Object? input, List<Object> path) → SchemaResult<String>
Validates input located at path within a larger document.
override
withDefault(String value) → Schema<String>
Uses value when the input is null or the object key is absent.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited