Home > Net >  Conditional chaining in JavaScript or TypeScript
Conditional chaining in JavaScript or TypeScript

Time:01-04

Is there a syntax to add a function to a chain under conditions?

In this example, I would like myKey to be Joi.string().required() if modifier === true, but just Joi.string() if it is false:

function customJoi(modifier) {
  return Joi.object({
    myKey: Joi.string() //#If(modifier) .required() #EndIf
  });
}

I know I could do without this feature, with multiple steps. I'm just wondering if there is a nice way to write it concisely for large objects.

CodePudding user response:

You could take optional, if not required.

myKey: oi.string()[modifier ? 'required' : 'optional']()

CodePudding user response:

You can achieve that with a ternary.

function customJoi(modifier) {
    return Joi.object({
        myKey: modifier ? Joi.string().required() : Joi.string()
    });
}
  •  Tags:  
  • Related