nope/modules/mod-Converters/assembly/manual-assembly.ts

150 lines
4.8 KiB
TypeScript
Raw Normal View History

2020-09-08 14:59:06 +00:00
/**
* @author Martin Karkowski
* @email m.karkowski@zema.de
* @create date 2018-05-22 12:38:17
* @modify date 2020-09-08 16:49:35
* @desc [description]
*/
import { IModuleDescription } from '../../mod-Assembly-Builder/type/interfaces';
import { BaseConverterContainer } from '../src/converter-container';
import { FromGrpcConverter } from '../src/from-grpc-converter';
import { FromJSONConverter } from '../src/from-json-converter';
import { FromRawConverter } from '../src/from-raw-converter';
import { ToCsvConverter } from '../src/to-csv-converter';
import { ToDa3vidConverter } from '../src/to-da3vid-converter';
import { ToGrpcConverter } from '../src/to-grpc-converter';
import { ToHTMLConverter } from '../src/to-html-converter';
import { ToTSDBConverter } from '../src/to-opentsdb-converter';
import { ToRawConverter } from '../src/to-raw-converter';
import { ToStringConverter } from '../src/to-string-converter';
import {
IConverter,
IConverterContainer,
IDa3vidConfiguration,
IDa3vidData,
ITSDBConfiguration,
ITSDBData
} from '../type/interfaces';
import * as _type from '../type/types';
export const TYPES = {
FromGrpcConverter: Symbol.for('FromGrpcConverter'),
FromJSONConverter: Symbol.for('FromJSONConverter'),
ToCsvConverter: Symbol.for('ToCsvConverter'),
ToDa3vidConverter: Symbol.for('ToDa3vidConverter'),
ToGrpcConverter: Symbol.for('ToGrpcConverter'),
ToHTMLConverter: Symbol.for('ToHTMLConverter'),
ToStringConverter: Symbol.for('ToStringConverter'),
ToTSDBConverter: Symbol.for('ToOpenTSDBConverter'),
ToRawConverter: Symbol.for('ToRawConverter'),
FromRawConverter: Symbol.for('FromRawConverter'),
Converter: Symbol.for('Converter')
};
export const DESCRIPTION: IModuleDescription<typeof TYPES> = {
AUTOSTART: {
},
DEFAULT_INSTANCES: [],
NAME: 'CONVERTERS',
PROVIDED_CLASSES: [
{
selector: TYPES.Converter,
type: BaseConverterContainer,
options: {
scope: 'inSingletonScope'
}
},
{
selector: [TYPES.FromGrpcConverter, _type.TYPES.ICONVERTER],
type: FromGrpcConverter,
options: {
scope: 'inSingletonScope'
}
},
{
selector: [TYPES.FromJSONConverter, _type.TYPES.ICONVERTER],
type: FromJSONConverter,
options: {
scope: 'inSingletonScope'
}
},
{
selector: [TYPES.FromRawConverter, _type.TYPES.ICONVERTER],
type: FromRawConverter,
options: {
scope: 'inSingletonScope'
}
},
{
selector: [TYPES.ToRawConverter, _type.TYPES.ICONVERTER],
type: ToRawConverter,
options: {
scope: 'inSingletonScope'
}
},
{
selector: [TYPES.ToCsvConverter, _type.TYPES.ICONVERTER],
type: ToCsvConverter,
options: {
scope: 'inSingletonScope'
}
},
{
selector: [TYPES.ToDa3vidConverter, _type.TYPES.ICONVERTER],
type: ToDa3vidConverter,
options: {
scope: 'inSingletonScope'
}
},
{
selector: [TYPES.ToGrpcConverter, _type.TYPES.ICONVERTER],
type: ToGrpcConverter,
options: {
scope: 'inSingletonScope'
}
},
{
selector: [TYPES.ToHTMLConverter, _type.TYPES.ICONVERTER],
type: ToHTMLConverter,
options: {
scope: 'inSingletonScope'
}
},
{
selector: [TYPES.ToStringConverter, _type.TYPES.ICONVERTER],
type: ToStringConverter,
options: {
scope: 'inSingletonScope'
}
},
{
selector: [TYPES.ToTSDBConverter, _type.TYPES.ICONVERTER],
type: ToTSDBConverter,
options: {
scope: 'inSingletonScope'
}
}
],
PROVIDED_FUNCTIONS: [],
REQURIES: ["PUBSUB", "GRPC"],
TYPES,
ACTIVATIONHANDLERS: [],
}
export type FromGrpcConverter = FromGrpcConverter;
export type ToCsvConverter = ToCsvConverter;
export type ToDa3vidConverter = ToDa3vidConverter;
export type ToGrpcConverter = ToGrpcConverter;
export type ToHTMLConverter = ToHTMLConverter;
export type ToStringConverter = IConverter<any, string, any>;
export type ToOpenTSDBConverter = ToTSDBConverter;
export type TSDBData = ITSDBData;
export type TSDBConfiguration = ITSDBConfiguration;
export type Da3vidData = IDa3vidData;
export type Da3vidConfiguration = IDa3vidConfiguration;
export type ConverterContainer = IConverterContainer;
export type Converter<Input, Return, Config> = IConverter<Input, Return, Config>;