vue-events-backbone
Version:
This plugin is an Event Bus that, by default, simulates DOM events propagation through vue components.
71 lines (70 loc) • 4.33 kB
TypeScript
import { ComponentInternalInstance } from 'vue';
import { dopedComponentInternalInstance } from './event-backbone.ts';
import { EventsBackboneAxonInterface, EventsBackboneAxonKey, EventsBackboneBrainInterface, EventsBackboneDendriteFunctions, EventsBackboneDendriteInterface, EventsBackboneNeuronInterface, EventsBackboneNeuronKey, EventsBackboneNeurotransmitterKey } from '../types';
export declare class EventsBackboneAxon implements EventsBackboneAxonInterface {
private neuronFrom?;
private neuronTo?;
private readonly axonKey;
constructor(ak: EventsBackboneAxonKey, neuronFrom: EventsBackboneNeuron, neuronTo: EventsBackboneNeuron);
transmitSignal(s: EventsBackboneNeurotransmitterKey, d?: any): Promise<any>;
getNeuronFrom(): EventsBackboneNeuron | undefined;
getAxonKey(): string;
destroy(notifySenderNeuron: boolean, doNotAutoRecreate?: boolean): void;
}
export declare class EventsBackboneDendrite implements EventsBackboneDendriteInterface {
private dendriteComponent?;
private neuron?;
private callbacks;
constructor(c: dopedComponentInternalInstance, ng: EventsBackboneNeuron, cbs?: EventsBackboneDendriteFunctions);
getComponentInstance(): ComponentInternalInstance;
setNeurotransmitterCallbacks(cbsf: EventsBackboneDendriteFunctions): void;
removeNeurotransmitterCallbacks(cbsfk: EventsBackboneNeurotransmitterKey[]): void;
getNeuron(): EventsBackboneNeuron;
deliverSignalToDendrite(n: EventsBackboneNeurotransmitterKey, d?: any): any;
sendSignalFromDendrite(ak: EventsBackboneAxonKey, s: EventsBackboneNeurotransmitterKey, data?: any): Promise<any>;
deleteAxonFromDendrite(k: string, doNotAutoRecreate?: boolean): void;
destroy(): void;
}
export declare class EventsBackboneNeuron implements EventsBackboneNeuronInterface {
private readonly dendrites;
private brain?;
private readonly neuronKey;
private readonly senderAxons;
private readonly receiverAxons;
private readonly pendingAxonRequests;
constructor(b: EventsBackboneBrain, nk: EventsBackboneNeuronKey, ...ns: EventsBackboneDendrite[]);
addDendrite(n: EventsBackboneDendrite): EventsBackboneDendrite;
getDendrites(): Set<EventsBackboneDendrite>;
deleteDendrite(n: EventsBackboneDendrite): void;
hasDendrite(n: EventsBackboneDendrite): boolean;
getNeuronKey(): string;
getAxons(): Map<EventsBackboneAxonKey, EventsBackboneAxon>;
getAxon(k: EventsBackboneAxonKey): EventsBackboneAxon | undefined;
deleteAxon(k: EventsBackboneAxonKey, doNotAutoRecreate?: boolean): void;
notifyCutAxonFromReceiverNeuron(ak: EventsBackboneAxonKey, neuronToKey: EventsBackboneNeuronKey, doNotAutoRecreate: boolean): Promise<void>;
notifyCutAxonFromSenderNeuron(ak: EventsBackboneAxonKey): Promise<void>;
addAxonRequest(nt: EventsBackboneNeuronKey): void;
removeAxonRequest(nt: EventsBackboneNeuronKey): void;
stopPendingAxonRequest(nt: EventsBackboneNeuronKey): void;
requestAxon(ak: EventsBackboneAxonKey, neuronToKey: EventsBackboneNeuronKey): Promise<EventsBackboneAxon | undefined>;
receiveAxon(a: EventsBackboneAxon): void;
sendSignal(ak: EventsBackboneAxonKey, n: EventsBackboneNeurotransmitterKey, d?: any): Promise<any>;
deliverSignal(n: EventsBackboneNeurotransmitterKey, d?: any): Promise<any>;
get size(): number;
get length(): number;
destroy(): void;
}
export declare class EventsBackboneBrain implements EventsBackboneBrainInterface {
private neurons;
private readonly pendingAxonRequests;
private readonly closePendingAxonRequests;
constructor();
generateNeuron(s: EventsBackboneNeuronKey, c: ComponentInternalInstance, cbs?: EventsBackboneDendriteFunctions): EventsBackboneDendrite;
private cleanupPendingAxonRequestsCallbacks;
requestNeuronForAxon(neuronFromKey: EventsBackboneNeuronKey, neuronToKey: EventsBackboneNeuronKey): Promise<EventsBackboneNeuron | void>;
stopPendingAxonRequest(nf: EventsBackboneNeuronKey, nt: EventsBackboneNeuronKey): void;
deleteNeuron(ngKey: EventsBackboneNeuronKey): void;
}
export declare function useBackboneBrain(): EventsBackboneBrain;
export default useBackboneBrain;
export declare function createNeuron(s: EventsBackboneNeuronKey, cbs: EventsBackboneDendriteFunctions): EventsBackboneDendrite;