docs: function nodecatCmd(args, options, callback) {
    if (!callback && typeof options === 'function') {
      callback = options;
      options = null;
    }
  
    if (!callback && typeof Promise === 'function') {
      return new Promise(((resolve, reject) => {
        nodecatCmd(args, options, (err, result) => {
          if (err) { reject(err); } else { resolve(result); }
        });
      }));
    }
  
    if (typeof callback !== 'function') {
      throw new TypeError('callback must be a function');
    }
  
    try {
      if (options && typeof options !== 'object') {
        throw new TypeError('options must be an object');
      }
  
      options = {
        inStream: (options && options.inStream) || process.stdin,
        outStream: (options && options.outStream) || process.stdout,
        errStream: (options && options.errStream) || process.stderr
      };
  
      if (!options.inStream || typeof options.inStream.pipe !== 'function') {
        throw new TypeError('options.inStream must be a stream.Readable');
      }
      if (!options.outStream || typeof options.outStream.write !== 'function') {
        throw new TypeError('options.outStream must be a stream.Writable');
      }
      if (!options.errStream || typeof options.errStream.write !== 'function') {
        throw new TypeError('options.errStream must be a stream.Writable');
      }
    } catch (err) {
      process.nextTick(() => {
        callback(err);
      });
      return undefined;
    }
  
    let fileNames;
    try {
      fileNames = parseArgs(args);
    } catch (errArgs) {
      options.errStream.write(`nodecat: ${errArgs.message}\n${usage()}`);
      process.nextTick(() => { callback(null, 1); });
      return undefined;
    }
  
    if (fileNames.length === 0) {
      // Process stdin by default
      fileNames = ['-'];
    }
  
    const catOptions = {
      errStream: options.errStream,
      fileStreams: {
        '-': options.inStream
      },
      outStream: options.outStream
    };
    nodecat(fileNames, catOptions, (err) => {
      // Note:  Error message, if any, was printed when it occurred
      callback(null, err ? 1 : 0);
    });
    return undefined;
  }