code: function JsonPrinter (outputStream, printerOptions, inputStreamOptions) {
      TapReceiver.call(this, inputStreamOptions);
      this._outputStream = outputStream;
      printerOptions = printerOptions || {};
      this._tabSize = printerOptions.tabSize || 0;
      this._runfilePath = printerOptions.runfilePath || null;
      this._unstackPaths = printerOptions.unstackPaths || [];
      this._closeOutputStream = printerOptions.closeOutputStream || false;
  
      this._started = false;
      this._testDepth = 0;
  }
docs: // CONSTRUCTION ///////////////////////////////////////////////////////////// 
  Construct a JsonPrinter.
  
  @param outputStream Stream to which to write output (a node Writable)
  @param printerOptions An optional set of the following options:
  - tabSize: Number of spaces by which to indent each nested level of JSON, or 0 to emit without indentation (defaults to 0)
  - runfilePath: path to runfile for truncating call stacks (defaults to null for no truncation)
  - unstackPaths: array of paths to libraries to truncate from call stacks (defaults to [])
  - closeOutputStream: whether to call end() on the output stream (defaults to false, which is usual for stdout)
  @param inputStreamOptions Options for configuring a stream.Writable