title: Joi schema.validate a custom type return an undefined value
body: <p>I'm trying to validate a custom Type with JOI all with conversion.
  the base type of my JoiType is a <code>Joi.array()</code></p>
  
  <p>when I try to </p>
  
  <pre><code>const schema = Joi.object().keys({
   attribute: Joi.array().items(Joi.string())
  });
  
  const result = schema.validate(exampleOfArray);
  </code></pre>
  
  <p>I found that <code>result.value</code> contains the real validated value.</p>
  
  <p>But when I change the type to a custom type, <strong>the value is not returned</strong> : (<code>result.value === undefined</code>)</p>
  
  <p>here is my custom type :</p>
  
  <pre><code>const customJoi = Joi.extend((joi: Root) =&gt; {
    return {
      type: 'stringArray',
      base: joi.array().items(joi.string()).meta({ baseType: 'array' }),
      coerce(value: any, helpers: CustomHelpers) {
        if (typeof value !== 'string') {
          return value;
        }
        if (!value) {
          return [];
        }
        return value.replace(/^,+|,+$/mg, '').split(',');
      }
    };
  });
  
  const schema = Joi.object().keys({
   attribute: customJoi.stringArray().items(Joi.string())
  });
  </code></pre>