code: function checkOptions(options) {
    options = options || {};
    // Separators (required)
    if(options.sep && 'string' === typeof options.sep) {
      options.sep = [options.sep];
    } else {
      options.sep = options.sep || csvOpts.sep;
    }
    if(!options.sep.length) {
      throw new Error('The option.sep argument is required.');
    }
    if(options.linesep && 'string' === typeof options.linesep) {
      options.linesep = [options.linesep];
    } else {
      options.linesep = options.linesep || csvOpts.linesep;
    }
    if(!options.linesep.length) {
      throw new Error('The option.sep argument is required.');
    }
    // Quotes (optionnal)
    if(options.quote && 'string' === typeof options.quote) {
      options.quote = [options.quote];
    } else {
      options.quote = options.quote || [];
    }
    // Escape (optionnal)
    if('string' === typeof options.esc) {
      options.esc = [options.esc];
    } else {
      options.esc = options.esc || csvOpts.esc;
    }
    if('string' === typeof options.toEsc) {
      options.toEsc = [options.toEsc];
    }
    if('undefined' === typeof options.toEsc && options.esc.length) {
      options.toEsc = options.quote.concat(options.esc);
      if(!options.quote.length) {
        options.toEsc = options.toEsc.concat(options.sep).concat(options.linesep);
      }
    } else {
      options.toEsc = options.toEsc || [];
    }
    // ToQuote
    if('string' === typeof options.toQuote) {
      options.toQuote = [options.toQuote];
    }
    if('undefined' === typeof options.toQuote && options.quote.length) {
      options.toQuote = options.sep.concat(options.linesep).concat(options.quote)
        .concat(options.esc);
    } else {
      options.toQuote = options.toQuote || [];
    }
    return options;
  }
docs: Options integrity