I'm trying to set a default value of a property based on a global context passed through at validate and an existing property of the object being validated. I just can't seem to use the value of the property of the object as a key for the global context.
const context = {
    letters: {
        a: 1,
        b: 2,
        c: 3,
    },
};
const s = Joi.object().keys({
    letter: Joi.string().valid(...['a', 'b', 'c']),
    num: Joi.number().default(Joi.expression('{$letters}.{letter}'))
})
const test = {
    letter: 'a',
}
console.log(s.validate(test, { context }));
Simple example above. I have an object called letters that I place into the context. The schema will look for letter, then try to set a default value for num using the global letters as the object to pull from and the letter passed in as the key. The closest I can get is { value: { letter: 'a', num: '[object Object].a' } }
 
     
     
    