@glandjs/core
Version:
Glands is a web framework for Node.js (@core)
23 lines (22 loc) • 1.65 kB
TypeScript
import type { Broker, CallMethod, EmitMethod, EventOptions, EventPayload, EventRecord, EventReturn, Events, Listener, OffMethod, OnceMethod, OnMethod } from '@glandjs/events';
import { Dictionary } from '@medishn/toolkit';
export declare class Context<TEvents extends EventRecord> implements CallMethod<TEvents>, OnMethod<TEvents>, EmitMethod<TEvents>, OnceMethod<TEvents>, OffMethod<TEvents> {
protected broker: Broker<TEvents>;
private _state;
error?: any;
constructor(broker: Broker<TEvents>);
get state(): Dictionary<any>;
set state(data: Dictionary<any>);
emit<K extends Events<TEvents>>(event: K, payload: EventPayload<TEvents, K>, options?: EventOptions): this;
on<K extends Events<TEvents>>(event: K, listener: Listener<EventPayload<TEvents, K>, void>, options?: EventOptions): this;
on<K extends Events<TEvents>>(event: K, listener: null | Listener<EventPayload<TEvents, K>, void>, options: EventOptions & {
watch: true;
}): Promise<EventPayload<TEvents, K>>;
off<K extends Events<TEvents>>(event: K, listener?: Listener<EventPayload<TEvents, K>, void>): this;
once<K extends Events<TEvents>>(event: K, listener: Listener<EventPayload<TEvents, K>, void>): this;
once<K extends Events<TEvents>>(event: K, listener: Listener<EventPayload<TEvents, K>, void> | null, options: EventOptions & {
watch: true;
}): Promise<EventPayload<TEvents, K>>;
call<K extends Events<TEvents>>(event: K, data: EventPayload<TEvents, K>): EventReturn<TEvents, K>;
call<K extends Events<TEvents>>(event: K, data: EventPayload<TEvents, K>, strategy: 'all'): EventReturn<TEvents, K>[];
}