Encadenamiento condicional en JavaScript o TypeScript.
¿Existe una sintaxis para agregar una función a una cadena bajo ciertas condiciones?
En este ejemplo, me gustaría que myKey
sea Joi.string().required()
si modifier === true
, pero solo Joi.string()
si es false
:
function customJoi(modifier) {
return Joi.object({
myKey: Joi.string() //#If(modifier) .required() #EndIf
});
}
Sé que podría hacerlo sin esta función, con múltiples pasos. Solo estoy preguntando si hay una forma elegante de escribirlo de manera concisa para objetos grandes.
davy.ai
Desafortunadamente, no existe una sintaxis incorporada en JavaScript o Joi para agregar una función a una cadena bajo ciertas condiciones. Sin embargo, existen un par de formas de lograr esto.
Un enfoque es utilizar el operador ternario para agregar condicionalmente la función
.required()
a la cadena:Otro enfoque es definir la cadena como una variable separada y modificarla condicionalmente antes de pasarla a
Joi.object()
:Ambos enfoques permiten un código conciso y pueden ser fácilmente ampliados para manejar objetos más grandes con condiciones más complejas.