schemantic library

Classes

AnyOf
DoubleField
Annotation for Number (double) fields with specific schema constraints. Annotation for Number (double) fields with specific schema constraints.
Field
Annotation to customize valid JSON fields.
IntegerField
Annotation for Integer fields with specific schema constraints.
JsonSchemaMetadata
Metadata associated with a SchemanticType, primarily used for schema generation.
SchemaHelpers
Internal utilities for building JSON Schemas.
SchemanticType<T>
Base class for all runtime type utilities.
Schematic
Annotation to mark a class as a schema definition.
StringField
Annotation for String fields with specific schema constraints.

Extension Types

Schema
A JSON Schema object defining any kind of property.

Extensions

SchemaValidation on Schema
An extension on Schema that adds validation functionality.

Functions

boolSchema({String? description, bool? defaultValue}) SchemanticType<bool>
A boolean schema.
doubleSchema({String? description, double? minimum, double? maximum, double? exclusiveMinimum, double? exclusiveMaximum, double? multipleOf, double? defaultValue}) SchemanticType<double>
A double schema.
dynamicSchema({String? description}) SchemanticType
A dynamic schema.
intSchema({String? description, int? minimum, int? maximum, int? exclusiveMinimum, int? exclusiveMaximum, int? multipleOf, int? defaultValue}) SchemanticType<int>
An integer schema.
listSchema<T>(SchemanticType<T> itemType, {String? description, int? minItems, int? maxItems, bool? uniqueItems}) SchemanticType<List<T>>
Creates a strongly typed List schema.
mapSchema<K, V>(SchemanticType<K> keyType, SchemanticType<V> valueType, {String? description, int? minProperties, int? maxProperties}) SchemanticType<Map<K, V>>
Creates a strongly typed Map schema.
stringSchema({String? description, int? minLength, int? maxLength, String? pattern, String? format, List<String>? enumValues, String? defaultValue}) SchemanticType<String>
A string schema.
voidSchema({String? description}) SchemanticType<void>
A void schema.