0.71.0 • Published 1 year ago

@curium.rocks/scripted-emitter v0.71.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

Scripted Emitter

Quality Gate Status Coverage Security Rating

A emitter that emits data from a defined script to mock events.

How to install

npm install --save @curium.rocks/scripted-emitter

API Documentation

You can view the API documentation here.

Creating a script

const fakeEmitter: any = {};

const script: IScript = {
    events: [
        {
            delayToEventMs: 5000,
            dataEvent: {
                timestamp: new Date(),
                data: {
                    dataField1: 'test1'
                },
                emitter: fakeEmitter,
                meta: {}
            }
        },
        {
            delayToEventMs: 15000,
            statusEvent: {
                connected: false,
                bit: false,
                timestamp: new Date()
            },
            dataEvent: {
                timestamp: new Date(),
                data: {
                    dataField2: 'test2'
                },
                emitter: fakeEmitter,
                meta: {}
            }
        },
        {
            delayToEventMs: 5000,
            statusEvent: {
                connected: true,
                bit: false,
                timestamp: new Date()
            }
        }
    ]
}

Example with output

Code

import {ScriptedEmitterFactory} from "./scriptedEmitterFactory";

const fakeEmitter: any = {};
const factory = new ScriptedEmitterFactory();
const emitter = await factory.buildEmitter({
    id: 'emitter-id',
    name: 'emitter-name',
    description: 'emitter-description',
    type: ScriptedEmitter.TYPE,
    emitterProperties: {
        script: {
            events: [
                {
                    delayToEventMs: 1000,
                    dataEvent: {
                        timestamp: new Date(),
                        data: {
                            dataField1: 'test1'
                        },
                        emitter: fakeEmitter,
                        meta: {}
                    }
                }
            ]
        }
    }
}) as ScriptedEmitter;

emitter.onData((dataEvt) => {
    console.log(`Data Event: ${JSON.stringify(dataEvt)}`);
});

emitter.start();

setTimeout(() => {
    emitter.dispose();
}, 10000);

Output

Data Event: {"timestamp":"2021-08-09T01:23:47.387Z","data":{"dataField1":"test1"},"emitter":{},"meta":{}}
Data Event: {"timestamp":"2021-08-09T01:23:47.387Z","data":{"dataField1":"test1"},"emitter":{},"meta":{}}
Data Event: {"timestamp":"2021-08-09T01:23:47.387Z","data":{"dataField1":"test1"},"emitter":{},"meta":{}}
Data Event: {"timestamp":"2021-08-09T01:23:47.387Z","data":{"dataField1":"test1"},"emitter":{},"meta":{}}
Data Event: {"timestamp":"2021-08-09T01:23:47.387Z","data":{"dataField1":"test1"},"emitter":{},"meta":{}}
Data Event: {"timestamp":"2021-08-09T01:23:47.387Z","data":{"dataField1":"test1"},"emitter":{},"meta":{}}
Data Event: {"timestamp":"2021-08-09T01:23:47.387Z","data":{"dataField1":"test1"},"emitter":{},"meta":{}}
Data Event: {"timestamp":"2021-08-09T01:23:47.387Z","data":{"dataField1":"test1"},"emitter":{},"meta":{}}
Data Event: {"timestamp":"2021-08-09T01:23:47.387Z","data":{"dataField1":"test1"},"emitter":{},"meta":{}}
0.62.0

1 year ago

0.64.0

1 year ago

0.70.0

1 year ago

0.67.0

1 year ago

0.63.0

1 year ago

0.65.0

1 year ago

0.71.0

1 year ago

0.66.0

1 year ago

0.68.0

1 year ago

0.60.0

2 years ago

0.59.0

2 years ago

0.57.0

2 years ago

0.55.0

2 years ago

0.53.0

2 years ago

0.51.0

2 years ago

0.48.0

2 years ago

0.46.0

2 years ago

0.61.0

2 years ago

0.58.0

2 years ago

0.56.0

2 years ago

0.54.0

2 years ago

0.52.0

2 years ago

0.50.0

2 years ago

0.49.0

2 years ago

0.47.0

2 years ago

0.43.0

2 years ago

0.20.0

2 years ago

0.41.0

2 years ago

0.19.0

2 years ago

0.38.0

2 years ago

0.36.0

2 years ago

0.34.0

2 years ago

0.11.0

2 years ago

0.13.0

2 years ago

0.15.0

2 years ago

0.17.0

2 years ago

0.32.0

2 years ago

0.30.0

2 years ago

0.29.0

2 years ago

0.27.0

2 years ago

0.3.0

2 years ago

0.25.0

2 years ago

0.44.0

2 years ago

0.23.0

2 years ago

0.9.0

2 years ago

0.5.0

2 years ago

0.7.0

2 years ago

0.42.0

2 years ago

0.21.0

2 years ago

0.40.0

2 years ago

0.39.0

2 years ago

0.37.0

2 years ago

0.35.0

2 years ago

0.33.0

2 years ago

0.12.0

2 years ago

0.14.0

2 years ago

0.16.0

2 years ago

0.18.0

2 years ago

0.10.0

2 years ago

0.31.0

2 years ago

0.28.0

2 years ago

0.26.0

2 years ago

0.24.0

2 years ago

0.45.0

2 years ago

0.22.0

2 years ago

0.8.0

2 years ago

0.4.0

2 years ago

0.6.0

2 years ago

0.1.1-23

2 years ago

0.1.1-20

2 years ago

0.1.1-21

2 years ago

0.1.1-22

2 years ago

0.1.1-16

2 years ago

0.1.1-17

2 years ago

0.1.1-18

2 years ago

0.2.0

2 years ago

0.1.1-19

2 years ago

0.1.1-13

2 years ago

0.1.1-14

2 years ago

0.1.1-15

2 years ago

0.1.1-12

2 years ago

0.1.1-10

2 years ago

0.1.1-11

2 years ago

0.1.1-9

2 years ago

0.1.1-4

2 years ago

0.1.1-6

2 years ago

0.1.1-5

2 years ago

0.1.1-8

2 years ago

0.1.1-7

2 years ago

0.1.1-3

3 years ago

0.1.1-2

3 years ago

0.1.1-1

3 years ago

0.1.1-0

3 years ago