2020-12-04 18:10:33 +00:00
|
|
|
/**
|
|
|
|
* @author Martin Karkowski
|
|
|
|
* @email m.karkowski@zema.de
|
|
|
|
* @create date 2020-12-02 07:25:15
|
2021-08-17 15:52:46 +00:00
|
|
|
* @modify date 2021-08-11 10:34:09
|
2020-12-04 18:10:33 +00:00
|
|
|
* @desc [description]
|
|
|
|
*/
|
|
|
|
|
|
|
|
import { inject, injectable } from "inversify";
|
2022-10-29 05:52:14 +00:00
|
|
|
import {
|
|
|
|
DISPATCHER_OPTIONS,
|
|
|
|
EMITTER_FACTORY,
|
|
|
|
OBSERVABLE_FACTORY,
|
|
|
|
} from "../symbols/identifiers";
|
|
|
|
import { INopeEventEmitter } from "../types";
|
2021-08-17 15:52:46 +00:00
|
|
|
import { INopeDispatcherOptions } from "../types/nope/nopeDispatcher.interface";
|
2020-12-04 18:10:33 +00:00
|
|
|
import { INopeObservable } from "../types/nope/nopeObservable.interface";
|
2022-01-10 06:52:05 +00:00
|
|
|
import { NopeDispatcher } from "./nopeDispatcher";
|
2020-12-04 18:10:33 +00:00
|
|
|
|
|
|
|
@injectable()
|
2022-01-10 06:52:05 +00:00
|
|
|
export class InjectableNopeDispatcher extends NopeDispatcher {
|
2020-12-04 18:10:33 +00:00
|
|
|
constructor(
|
|
|
|
@inject(DISPATCHER_OPTIONS) public options: INopeDispatcherOptions,
|
2022-10-29 05:52:14 +00:00
|
|
|
@inject(EMITTER_FACTORY)
|
|
|
|
protected _generateEmitter: <T>() => INopeEventEmitter<T>,
|
2020-12-04 18:10:33 +00:00
|
|
|
@inject(OBSERVABLE_FACTORY)
|
|
|
|
protected _generateObservable: <T>() => INopeObservable<T>
|
|
|
|
) {
|
2022-10-29 05:52:14 +00:00
|
|
|
super(options, _generateEmitter, _generateObservable);
|
2020-12-04 18:10:33 +00:00
|
|
|
}
|
|
|
|
}
|