78 lines
2.0 KiB
TypeScript
78 lines
2.0 KiB
TypeScript
/**
|
|
* @author Martin Karkowski
|
|
* @email m.karkowski@zema.de
|
|
* @create date 2018-07-02 03:51:00
|
|
* @modify date 2020-09-09 15:55:51
|
|
* @desc [description]
|
|
*/
|
|
|
|
import { IDescriptor } from "../../mod-Assembly-Builder/type/interfaces";
|
|
import { BrokerBaseFilesystem } from "../src/Broker-System.FileLoader";
|
|
import {
|
|
IteratorCancel, MultiFunctionChain,
|
|
SingleFunctionChain
|
|
} from "../src/Function-Chain";
|
|
import { ChainRepository as _ChainRepository } from "../src/Repository";
|
|
import {
|
|
IBroker, IBrokerFilebaseModuleLoader,
|
|
|
|
IChainRepository,
|
|
IFunctionChain
|
|
} from "../type/interfaces";
|
|
import * as BROKER from "../type/types";
|
|
|
|
export const TYPES = BROKER.TYPES;
|
|
|
|
// export type Broker = IBrokerFilebaseModuleLoader;
|
|
export type Broker = IBroker;
|
|
export type FilebasedBroker = IBrokerFilebaseModuleLoader;
|
|
export type ChainRepository = IChainRepository;
|
|
export type FunctionChain = IFunctionChain;
|
|
|
|
export const EXPORT: Array<IDescriptor> = [
|
|
{
|
|
selector: [TYPES.Broker, TYPES.BrokerFilebased],
|
|
factorySelector: [TYPES.BrokerFactory, TYPES.BrokerFilebasedFactory],
|
|
type: BrokerBaseFilesystem,
|
|
options: {
|
|
scope: "inSingletonScope"
|
|
}
|
|
},
|
|
{
|
|
selector: TYPES.CancelableIteratorForChain,
|
|
factorySelector: TYPES.CancelableIteratorForChainFactory,
|
|
type: IteratorCancel
|
|
},
|
|
{
|
|
selector: TYPES.FunctionChain,
|
|
factorySelector: TYPES.FunctionChainFactory,
|
|
type: MultiFunctionChain,
|
|
options: {
|
|
addition: {
|
|
name: "whenTargetTagged",
|
|
args: ["type", "multi"]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
selector: TYPES.FunctionChain,
|
|
factorySelector: TYPES.FunctionChainFactory,
|
|
type: SingleFunctionChain,
|
|
options: {
|
|
addition: {
|
|
name: "whenTargetTagged",
|
|
args: ["type", "single"]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
selector: TYPES.ChainRepository,
|
|
factorySelector: TYPES.ChainRepositoryFactory,
|
|
type: _ChainRepository
|
|
}
|
|
];
|
|
|
|
export const REQUIRE = ["BROKER", "MODULELOADER"];
|
|
|
|
export const NAME = "BROKERFILEBASED";
|