1.0.4 • Published 11 months ago

ed-log-reader v1.0.4

Weekly downloads
-
License
MIT
Repository
github
Last release
11 months ago

ed-log-reader

GitHub npm GitHub last commit

node-current npm dev dependency version

Mastodon Follow Twitter Follow

I strongly suggest using typescript for consumption of this library.

Due to the amount of different objects and log types not all typings may be available, feel free to make a pull request!

EDLog

EDLog is a basic EventEmitter that acts as a wrapper around that handles log rotation, parsing and handling of their events.

It can also act as a backlog reader.

EDLog is very simple to bootstrap as it takes care of pathing too.

Please mind that events may be delayed by about 100ms as the log is polled.

Compatibility

Only runs on Windows right now, sorry.

Simple demo

import { EDLog, locations } from 'elite-dangerous-utils';

const log = new EDLog();

log.on('event:ReceiveText', event => {
    switch (event.Channel) {
        case 'npc':
            console.log(`Message from: ${event.From_Localised || event.From}: ${event.Message_Localised}`);
            break;
        case 'player':
            console.log(`Direct message from: ${event.From.substr(1)}: ${event.Message}`);
            break;
        case 'local':
            if (event.From_Localised.startsWith('CMDR')) {
                console.log(`Message from ${event.From_Localised.replace('Commander ', '')}: ${event.Message}`);
                break;
            }
            console.log(`Message from ${event.From.substr(1)}: ${event.Message}`);
            break;
    }
});

log.on('event:Bounty', event => {
    console.log(`Killed ${event.Target} for ${event.TotalReward} `);
});
log.on('file', ev => console.log(ev.file))
log.on('event', ev => console.log(ev));
log.start();

Events

  • event:*: Emitted for each log event as documented in the Spec and possibly more.
    • TS Some events may not be explicitly typed, in these cases please us the generic form and create a pull request.
    • The timestamp property is replaced by a Date object for ease of use.
  • event: Catch-all listener for ALL events.
  • file: Emitted when a log rotation occurs
    • file: The file path of the new file.
  • warn: Emits an error object.

For all other docs please see the .ts files.


Docs

Due to the size of the schema of this API, please refer to the .ts files, most types should be documented.