SlintORM
Docsnpm

Annotations Reference

SlintORM uses // comment annotations on interface fields to control column types, constraints, validation, security, masking, relations, and more.

Security

@hash
Balloon hashing (memory-hard) with .verify(), PBKDF2 opt-in
@encrypt
AES-256-GCM encryption with .decrypt()
@secret
@hash + @omitjson composite

Masking & Omit

@mask
Output masking with presets and directives
@omit family
@omitdb, @omitjson, @omitmigrate

Validation

@email / @url / @uuid / @phone
Format validators
@min / @max
Numeric range validation
@minLength / @maxLength
String length validation
@pattern
Custom regex validation

Data Generation

@random
Auto-generated field values on insert

Column Constraints

@auto / @primaryKey
Auto-increment and primary key
@unique / @index
Unique constraint and indexes
@nullable / @not null
Nullability constraints
@default / @length
Default values and column length
@enum / @comment
Enum check constraints and column comments
@softDelete
Soft delete support

Relations & Polymorphics

@relation / @relationship
One-to-many, many-to-one, one-to-one, many-to-many
@belongsTo / @hasMany / @hasOne / @belongsToMany
Relation shortcuts
@polymorphicType / @polymorphicId
Polymorphic associations (morphTo)

Serialization

@json
JSON column serialization (auto stringify/parse)
@omit family
@omitdb, @omitjson, @omitmigrate