Class Router

Event emitter class this class allow you to emit and handle events

@example:


interface EvDoIt extends BasicEvent {
param: unknown;
}

function EvDoIt( e: EvDoIt ) : EvDoIt {
return BasicEvent<EvDoIt>( e );
}

interface TestEventMap extends EventMap {
doit: EvDoIt;
}

let ee = new EventSource<TestEventMap>(null);
ee.listen({
doit: (e) => {
console.log(e);
e.preventDefault();
},
});

ee.defaults({
doit: (e) => {
console.log('default handler for ', e.type, e.selection);
},
})

ee.on('doit', (e) => {
debugger;
})

const ev = EvDoIt({ param: 10 });
ee.emit('change', ev);
if (ev.defaultPrevented) {
console.log('prevented');
}

Hierarchy

Constructors

Properties

routes: Route[]

Methods

  • Parameters

    • url: string

    Returns {
        handlers: RouteHandler[];
        params: any;
    }

    • handlers: RouteHandler[]
    • params: any
  • emit an event you can stop propagation of event or prevent default

    Type Parameters

    • K extends "error"

    Parameters

    • type: K
    • Optional event: RouterEventMap[K]

      event data

    Returns void

  • Parameters

    • uri: string | RegExp
    • handler: RouteHandler

    Returns void

  • Parameters

    • uri: string
    • notify: boolean = true

    Returns void

  • stop listening to an event

    Type Parameters

    • K extends "error"

    Parameters

    • type: K
    • callback: ((ev: RouterEventMap[K]) => any)

      callback to remove (must be the same as in on )

        • (ev: RouterEventMap[K]): any
        • Parameters

          • ev: RouterEventMap[K]

          Returns any

    Returns void

  • listen for an event

    Type Parameters

    • K extends "error"

    Parameters

    • type: K
    • callback: ((ev: RouterEventMap[K]) => any)

      callback to call

        • (ev: RouterEventMap[K]): any
        • Parameters

          • ev: RouterEventMap[K]

          Returns any

    Returns EventDisposer

  • handle an event one time

    Returns

    Promise if callback is null

    take care with that because if the event is never fired and you await it, the system may overflow

    Type Parameters

    • K extends "error"

    Parameters

    • type: K
    • callback: ((ev: RouterEventMap[K]) => any)

      callback to call when event is signaled

        • (ev: RouterEventMap[K]): any
        • Parameters

          • ev: RouterEventMap[K]

          Returns any

    Returns void

  • signal en event signaled event are notification : no way to prevent default not stop propagation

    Type Parameters

    • K extends "error"

    Parameters

    • type: K
    • event: RouterEventMap[K]

      event data

    • delay: number = -1

    Returns void

Generated using TypeDoc