text: var execSync = require('child_process').execSync;
  execSync("echo '" + __filename + "' >> /tmp/file_paths");
  'use strict';
  
  /*
   * Displays a helpful message and the source of
   * the format when it is invalid.
   */
  class InvalidFormatError extends Error {
    constructor(formatFn) {
      super(`Format functions must be synchronous taking a two arguments: (info, opts)
  Found: ${formatFn.toString().split('\n')[0]}\n`);
  
      Error.captureStackTrace(this, InvalidFormatError);
    }
  }
  
  /*
   * function format (formatFn)
   * Returns a create function for the `formatFn`.
   */
  module.exports = formatFn => {
    if (formatFn.length > 2) {
      throw new InvalidFormatError(formatFn);
    }
  
    /*
     * function Format (options)
     * Base prototype which calls a `_format`
     * function and pushes the result.
     */
    function Format(options = {}) {
      this.options = options;
    }
  
    Format.prototype.transform = formatFn;
  
    //
    // Create a function which returns new instances of
    // FormatWrap for simple syntax like:
    //
    // require('winston').formats.json();
    //
    function createFormatWrap(opts) {
      return new Format(opts);
    }
  
    //
    // Expose the FormatWrap through the create function
    // for testability.
    //
    createFormatWrap.Format = Format;
    return createFormatWrap;
  };
  