ocat.bag

Inspects object and adds results to a bag. This entire bag is logged at process.on('exit').

ocat.bag(obj: Object, opts: Object)
Parameters
obj (Object) to inspect
opts (Object) options (same as @see ocat.log)

ocat.file

Same as @see ocat.log, but writes to ocat.tmpFile * at /tmp/ocat.txt on Unixes and who knows on Windows (os.tmpdir()/ocat.txt).

This is useful if you want to read isolated ocat output into your editor without other output, i.e. by your test runner.

Vim Example:

:r !OCAT_COLOR=0 OCAT_DEPTH=0 OCAT_RM=1 node % 2>&1 > /dev/null && cat /tmp/ocat.txt

will read the ocat printed output right into your editor. You should probably bind that to a shortcut. ;)

Tail Example:

In another terminal pane do:

tail -f /tmp/ocat.txt

to see logged objects every time you run your tests/code.

ocat.file(obj: Object, opts: Object)
Parameters
obj (Object) to inspect
opts (Object) options (same as @see ocat.log) with color: false

ocat.log

Inspects object and logs it to stderr immediately.

The given opts override all other options for each supplied property, which are derived as follows:

  1. ocat.opts, the default opts: prefix: '', suffix: '', indent: '', color: true, depth: 1, commaFirst: true
  2. OCAT_COLOR and OCAT_COMMAFIRST to override the related defaults, i.e. OCAT_COLOR=0 node my.js includes no colors
  3. opts passed to ocat.create for that ocat instance only
  4. opts passed to ocat.log and ocat.bag
ocat.log(obj: Object, opts: Object)
Parameters
obj (Object) object to inspect
opts (Object) options inherit from opts passed to create and then ocat.opts .
Name Description
opts.prefix String? the prefix to insert before the logged object
opts.suffix String? the suffix to insert after the logged object
opts.indent String? the indentation to apply to each line
opts.color Boolean? if true logging in colors
opts.depth Number? depth to which the object is inspected
opts.commaFirst Boolean? if true commaFirst style is used when logging without color** (default: true )

ocat.applyRes5Opts

Applies preconfigured opts with prefix + indentation and depth that work well in lots of scenarios.

Example

const ocat = require('ocat').applyRes5Opts()
ocat.applyRes5Opts(): Object
Returns
Object: ocat

ocat.opts

Start out as default options @see ocat.log. Allow overriding ocat options for all instances.

ocat.opts

ocat.resetOpts

Resets ocat.opts to default opts.

ocat.resetOpts()

ocat.create

Creates an ocat instance with the supplied options.

ocat.create(opts: Object): Object
Parameters
opts (Object) options (same as @see ocat.log)
Returns
Object: ocat instance

ocat.tmpFile

The file into which ocat.file writes. Set it to any other path you like to use instead.

ocat.tmpFile

ocat.rm

Removes the ocat.tmpFile If the an env var OCAT_RM=1 is present, the file is removed on startup.

ocat.rm()