Aller au contenu principal
Version: 2.0.0

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

OptionTypeDéfautDescription
useParentOptionsbooleantrueHérite de equalityDepth, sanitizeError et timestamps.
removestring | string[][]Noms des champs à supprimer du schéma parent.
...NS.OptionsToute 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.
  • remove supprime les champs après la copie.
  • Seuls equalityDepth, sanitizeError et timestamps sont hérités quand useParentOptions vaut true. Définissez-le à false pour 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 },
);