Extension de schémas
Utilisez .extend() pour créer un nouveau schéma qui hérite des champs d'un schéma existant.
Loading playground…
Options
| Option | Type | Défaut | Description |
|---|---|---|---|
useParentOptions | boolean | true | Hérite de equalityDepth, sanitizeError et timestamps. |
remove | string | string[] | [] | Noms des champs à supprimer du schéma parent. |
| ... | NS.Options | — | Toute autre option de schéma peut être fournie et remplacera l'héritage. |
Règles d'héritage
- Les définitions du parent sont d'abord copiées, puis le constructeur d'extension est appliqué.
- Redéclarer un nom de champ parent écrase la définition du parent.
removesupprime les champs après la copie.- Seuls
equalityDepth,sanitizeErrorettimestampssont hérités quanduseParentOptionsvauttrue. Définissez-le àfalsepour ne partir que des options passées àextend().
const StrictAdminSchema = UserSchema.extend<AdminInput, Admin>(
(b) => b.field(b.required('role').allow(['admin'])),
{ useParentOptions: false, timestamps: false },
);