code: function thorinSanitize(input, done) {
      let sanitizeRes = thorin.sanitize(this.type, input, this[options]);
      if(typeof sanitizeRes === 'object' && sanitizeRes != null && typeof sanitizeRes.then === 'function') {
        let isDone = false;
        sanitizeRes.then((result) => {
          if(isDone) return; isDone = true;
          done(null, result);
        }, (e) => {
          if(isDone) return; isDone = true;
          done(e);
        }).catch((e) => {
          if(isDone) return; isDone = true;
          done(e);
        });
        return;
      }
      // otherwise, we have a synchronous value.
      done(null, sanitizeRes);
    }
docs: /* Calls the thorin sanitizer and checks if it's async or sync