@ceeblue/wrts-client
    Preparing search index...

    Class ReaderAbstract

    A advanced EventEmitter which allows to declare event as natural function in the inheriting children class, function must start by on prefix to be recognized as an event. The function can define a behavior by default, and user can choose to redefine this behavior, or add an additionnal subscription for this event. In addition you can unsubscribe to multiple events with an AbortController

    class Logger extends EventEmitter {
    onLog(log:string) { console.log(log); } // behavior by default

    test() {
    // raise event onLog
    this.onLog('test');
    }
    }

    const logger = new Logger();
    logger.test(); // displays a log 'test'

    // redefine default behavior to display nothing
    logger.onLog = () => {}
    logger.test(); // displays nothing

    // add an additionnal subscription
    logger.on('log', console.log);
    logger.test(); // displays a log 'test'

    // remove the additionnal subscription
    logger.off('log', console.log);
    logger.test(); // displays nothing

    // add two additionnal subscriptions with a AbortController
    const controller = new AbortController();
    logger.on('log', log => console.log(log), controller);
    logger.on('log', log => console.error(log), controller);
    logger.test(); // displays a log 'test' + an error 'test'

    // Unsubscribe all the subscription with the AbortController
    controller.abort();
    logger.test(); // displays nothing

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    log: ILog

    Start a log

    a Log object with the levels of log to call

    Methods

    • Event unsubscription

      Parameters

      • name:
            | "sample"
            | "error"
            | "metadata"
            | "Error"
            | "Metadata"
            | "InitTracks"
            | "Sample"
            | "inittracks"

        Name of event without the 'on' prefix (ex: 'log' to 'onLog' event declared)

      • event: Function

        Unsubscriber Function, must be the one passed to on or once subscription methods

      Returns boolean

    • Event subscription

      Parameters

      • name:
            | "sample"
            | "error"
            | "metadata"
            | "Error"
            | "Metadata"
            | "InitTracks"
            | "Sample"
            | "inittracks"

        Name of event without the on prefix (ex: log to onLog event declared)

      • event: Function

        Subscriber Function

      • Optionaloptions: { signal?: AbortSignal }
        • Optionalsignal?: AbortSignal

          Optional AbortSignal to stop this or multiple subscriptions in same time

      Returns void

    • Event subscription only one time, once time fired it's automatically unsubscribe

      Parameters

      • name:
            | "sample"
            | "error"
            | "metadata"
            | "Error"
            | "Metadata"
            | "InitTracks"
            | "Sample"
            | "inittracks"

        Name of event without the on prefix (ex: log to onLog event declared)

      • event: Function

        Subscriber Function

      • Optionaloptions: { signal?: AbortSignal }
        • Optionalsignal?: AbortSignal

          Optional AbortSignal to stop this or multiple subscriptions in same time

      Returns void

    • Children class must implement the parsing logic, and returns how many bytes have to be kept.

      Parameters

      • packet: Uint8Array

        the binary to parse

      Returns number

    Events