I am struggling with the syntax for providing a default value to an empty and/or missing array key.
Joi.object({
items: Joi.array().empty([]).items(Joi.number()).default([42]),
})
{
items: []
}
or
{
}
In both cases I would want the default value of [42] to be substituted into the object. I'm assuming that I have to indicate that an empty array is invalid in some way, but I'm not sure how. I have also tried setting min(1) on items, but that doesn't work either (it flags the object as invalid, but does not substitute the default value).
Sorry, posted this too soon. This works:
Joi.object({
items: Joi.array().optional().empty(Joi.array().length(0)).default([42]),
})