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
    

    Install

    npm i date-goggles

    DownloadsWeekly Downloads

    0

    Version

    1.0.1

    License

    MIT

    Unpacked Size

    564 kB

    Total Files

    14

    Last publish

    Collaborators

    • jedwards1211