date-goggles
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

date-goggles

CircleCI Coverage Status semantic-release Commitizen friendly npm version

Our work involves lots of numeric timestamps in JSON. This leads to a lot of log output like:

[2020-04-01 18:32:22 TrackedEntityActivityRecordAPI] INFO calling historian.putData:  { '_org/5/Employees/148':
{ t: [ 1585777672134, 1585778400000 ],
  v: [ 'Stuffing', null ],
  beginTime: 1585777672134,

Which can be tedious to debug because numeric timestamps are inscrutable. date-goggles helps by searching for numbers that seem to be timestamps and converting them to Dates:

[2020-04-01 18:32:22 TrackedEntityActivityRecordAPI] INFO calling historian.putData:  { '_org/5/Employees/148':
{ t: [ 4/1/2020, 4:47:52 PM, 4/1/2020, 5:00:00 PM ],
  v: [ 'Stuffing', null ],
  beginTime: 4/1/2020, 4:47:52 PM,

Table of Contents

Node.js API

dateGoggles(input, options)

Transforms the output with format(parse(input, options), options). See parse and format for options documentation.

parse(input, options)

Parses input text.

Arguments

input: string (required)

The input to parse.

options.unit ('milliseconds' | 'seconds', optional)

The timestamp unit. If omitted, tries to guess based upon the input or numeric options.min/options.max.

options.min (number | Date | null | undefined, optional)

Numbers found in the input less than this will not be considered timestamps. If you pass null, no lower bound is used. If undefined or omitted, defaults to 10 years ago.

options.max (number | Date | null | undefined, optional)

Numbers found in the input greater than this will not be considered timestamps. If you pass null, there's no upper bound. If undefined or omitted, defaults to 5 years into the future.

Returns: Array<string | Date>

The input split up in to substrings in which no timestamps were found, and timestamps converted to Dates.

format(ast, options)

Formats a parsed AST.

Arguments

ast: Array<string | Date> (required)

The AST output of parse.

options.formatDate ((date: Date) => string, optional)

Customizes how Dates are formatted.

Returns: string

The formatted output.

CLI

The CLI is pretty basic and doesn't have any options to customize output right now, it just parses file arguments or stdin and outputs using date.toLocaleString():

date-goggles app1.log app2.log

OR

some-command | date-goggles

Readme

Keywords

Package Sidebar

Install

npm i date-goggles

Weekly Downloads

2

Version

1.0.1

License

MIT

Unpacked Size

564 kB

Total Files

14

Last publish

Collaborators

  • jedwards1211