/** * @author Martin Karkowski * @email m.karkowski@zema.de * @create date 2018-06-11 01:49:04 * @modify date 2018-07-02 05:09:13 * @desc [description] */ import { ITopicMatcher } from '../../ZISS-Publish-And-Subscribe-System/type/interfaces'; import { MQTTMatcher } from '../src/mqtt-matching'; import { MQTTConverter } from '../src/mqtt-converter' import { ExternalMQTTServerWithConverter } from '../src/mqtt-interface.FileLoader'; import * as MQTT from '../type/types'; import * as mqtt from 'mqtt'; export const TYPES = { MQTTMatcher: MQTT.TYPES.MQTTMatcher, MQTTInterface: Symbol('MQTTExternalBroker'), MQTTConverter: MQTT.TYPES.MQTTConverter, }; import { IDescriptor } from '../../ZISS-Assembly-Builder/type/interfaces'; export const EXPORT: Array = [ { selector: TYPES.MQTTMatcher, type: MQTTMatcher, options: { scope: 'inSingletonScope', }, }, { selector: TYPES.MQTTInterface, type: ExternalMQTTServerWithConverter, options: { scope: 'inSingletonScope', }, }, { selector: TYPES.MQTTConverter, type: MQTTConverter, options: { scope: 'inSingletonScope', }, }, { selector: MQTT.TYPES.MQTTLibrary, type: mqtt, options: { toConstant: true }, }, ]; export const REQUIRE = ['PUBSUB']; export const NAME = 'MQTT'; /** Export the Type */ export type Matcher = ITopicMatcher; export type MQTTInterface = ExternalMQTTServerWithConverter;