Type alias DebugOptions<EventData>

DebugOptions<EventData>: {
    enabled?: boolean;
    logger?: DebugLogger<EventData, keyof EventData>;
    name: string;
}

Configure debug options of an instance.

Type Parameters

  • EventData

Type declaration

  • Optional Readonly enabled?: boolean

    Toggle debug logging just for this instance.

    Default

    false
    

    Example

    import Emittery from 'emittery';

    const emitter1 = new Emittery({debug: {name: 'emitter1', enabled: true}});
    const emitter2 = new Emittery({debug: {name: 'emitter2'}});

    emitter1.on('test', data => {
    // …
    });

    emitter2.on('test', data => {
    // …
    });

    emitter1.emit('test');
    //=> [16:43:20.417][emittery:subscribe][emitter1] Event Name: test
    // data: undefined

    emitter2.emit('test');
  • Optional Readonly logger?: DebugLogger<EventData, keyof EventData>

    Function that handles debug data.

    Default

    (type, debugName, eventName, eventData) => {
    eventData = JSON.stringify(eventData);

    if (typeof eventName === 'symbol' || typeof eventName === 'number') {
    eventName = eventName.toString();
    }

    const currentTime = new Date();
    const logTime = `${currentTime.getHours()}:${currentTime.getMinutes()}:${currentTime.getSeconds()}.${currentTime.getMilliseconds()}`;
    console.log(`[${logTime}][emittery:${type}][${debugName}] Event Name: ${eventName}\n\tdata: ${eventData}`);
    }

    Example

    import Emittery from 'emittery';

    const myLogger = (type, debugName, eventName, eventData) => {
    console.log(`[${type}]: ${eventName}`);
    };

    const emitter = new Emittery({
    debug: {
    name: 'myEmitter',
    enabled: true,
    logger: myLogger
    }
    });

    emitter.on('test', data => {
    // …
    });

    emitter.emit('test');
    //=> [subscribe]: test
  • Readonly name: string

    Define a name for the instance of Emittery to use when outputting debug data.

    Default

    undefined
    

    Example

    import Emittery from 'emittery';

    Emittery.isDebugEnabled = true;

    const emitter = new Emittery({debug: {name: 'myEmitter'}});

    emitter.on('test', data => {
    // …
    });

    emitter.emit('test');
    //=> [16:43:20.417][emittery:subscribe][myEmitter] Event Name: test
    // data: undefined

Generated using TypeDoc