Podmienené reťazenie v JavaScripte alebo TypeScripte
Existuje syntax na pridanie funkcie do reťazca za určitých podmienok?
V tomto príklade by som chcel, aby myKey bolo Joi.string().required(), ak modifier === true, ale len Joi.string(), ak je false:
function customJoi(modifier) {
return Joi.object({
myKey: Joi.string() //#If(modifier) .required() #EndIf
});
}
Viem, že sa zaobídem bez tejto funkcie s viacerými krokmi. Len sa zaujímam, či existuje pekný spôsob, ako to stručne zapísať pre veľké objekty.
Odpoveď č. 1
Môžete zvoliť optional, ak nie je povinné.
myKey: Joi.string()[modifier ? 'required' : 'optional']()
Odpoveď č. 2
Môžete toho dosiahnuť pomocou ternárneho operátora.
function customJoi(modifier) {
return Joi.object({
myKey: modifier ? Joi.string().required() : Joi.string()
});
}
