@swimlane/turbine-sdk 0.6.1 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -12
- package/dist/Sensor/BaseSensor.d.ts +3 -3
- package/dist/Sensor/BaseSensor.js +3 -3
- package/dist/Sensor/{HttpSensorPodInterface.d.ts → HttpSensorAgentInterface.d.ts} +6 -6
- package/dist/Sensor/HttpSensorAgentInterface.js +81 -0
- package/dist/Sensor/{MockSensorPodInterface.d.ts → MockSensorAgentInterface.d.ts} +6 -6
- package/dist/Sensor/MockSensorAgentInterface.js +76 -0
- package/dist/Sensor/{SensorPodInterface.d.ts → SensorAgentInterface.d.ts} +4 -4
- package/dist/Sensor/SensorAgentInterface.js +24 -0
- package/dist/Sensor/SensorConfig.d.ts +4 -4
- package/dist/Sensor/SensorConfig.js +1 -1
- package/dist/Sensor/index.d.ts +3 -3
- package/dist/Sensor/index.js +4 -4
- package/node_modules/axios/CHANGELOG.md +348 -0
- package/node_modules/axios/LICENSE +19 -0
- package/node_modules/axios/README.md +684 -0
- package/node_modules/axios/UPGRADE_GUIDE.md +162 -0
- package/node_modules/axios/dist/axios.js +1668 -0
- package/node_modules/axios/dist/axios.map +1 -0
- package/node_modules/axios/dist/axios.min.js +9 -0
- package/node_modules/axios/dist/axios.min.map +1 -0
- package/node_modules/axios/index.d.ts +152 -0
- package/node_modules/axios/index.js +1 -0
- package/node_modules/axios/lib/adapters/README.md +37 -0
- package/node_modules/axios/lib/adapters/http.js +275 -0
- package/node_modules/axios/lib/adapters/xhr.js +174 -0
- package/node_modules/axios/lib/axios.js +53 -0
- package/node_modules/axios/lib/cancel/Cancel.js +19 -0
- package/node_modules/axios/lib/cancel/CancelToken.js +57 -0
- package/node_modules/axios/lib/cancel/isCancel.js +5 -0
- package/node_modules/axios/lib/core/Axios.js +86 -0
- package/node_modules/axios/lib/core/InterceptorManager.js +52 -0
- package/node_modules/axios/lib/core/README.md +7 -0
- package/node_modules/axios/lib/core/createError.js +18 -0
- package/node_modules/axios/lib/core/dispatchRequest.js +86 -0
- package/node_modules/axios/lib/core/enhanceError.js +42 -0
- package/node_modules/axios/lib/core/mergeConfig.js +51 -0
- package/node_modules/axios/lib/core/settle.js +25 -0
- package/node_modules/axios/lib/core/transformData.js +20 -0
- package/node_modules/axios/lib/defaults.js +98 -0
- package/node_modules/axios/lib/helpers/README.md +7 -0
- package/node_modules/axios/lib/helpers/bind.js +11 -0
- package/node_modules/axios/lib/helpers/buildURL.js +71 -0
- package/node_modules/axios/lib/helpers/combineURLs.js +14 -0
- package/node_modules/axios/lib/helpers/cookies.js +53 -0
- package/node_modules/axios/lib/helpers/deprecatedMethod.js +24 -0
- package/node_modules/axios/lib/helpers/isAbsoluteURL.js +14 -0
- package/node_modules/axios/lib/helpers/isURLSameOrigin.js +68 -0
- package/node_modules/axios/lib/helpers/normalizeHeaderName.js +12 -0
- package/node_modules/axios/lib/helpers/parseHeaders.js +53 -0
- package/node_modules/axios/lib/helpers/spread.js +27 -0
- package/node_modules/axios/lib/utils.js +334 -0
- package/node_modules/axios/package.json +115 -0
- package/node_modules/debug/.coveralls.yml +1 -0
- package/node_modules/debug/.eslintrc +14 -0
- package/node_modules/debug/.npmignore +9 -0
- package/node_modules/debug/.travis.yml +20 -0
- package/node_modules/debug/CHANGELOG.md +395 -0
- package/node_modules/debug/LICENSE +19 -0
- package/node_modules/debug/Makefile +58 -0
- package/node_modules/debug/README.md +368 -0
- package/node_modules/debug/karma.conf.js +70 -0
- package/node_modules/debug/node.js +1 -0
- package/node_modules/debug/package.json +87 -0
- package/node_modules/debug/src/browser.js +195 -0
- package/node_modules/debug/src/debug.js +225 -0
- package/node_modules/debug/src/index.js +10 -0
- package/node_modules/debug/src/node.js +186 -0
- package/node_modules/follow-redirects/LICENSE +18 -0
- package/node_modules/follow-redirects/README.md +155 -0
- package/node_modules/follow-redirects/http.js +1 -0
- package/node_modules/follow-redirects/https.js +1 -0
- package/node_modules/follow-redirects/index.js +322 -0
- package/node_modules/follow-redirects/package.json +99 -0
- package/node_modules/is-buffer/LICENSE +21 -0
- package/node_modules/is-buffer/README.md +56 -0
- package/node_modules/is-buffer/index.d.ts +2 -0
- package/node_modules/is-buffer/index.js +11 -0
- package/node_modules/is-buffer/package.json +81 -0
- package/node_modules/ms/index.js +152 -0
- package/node_modules/ms/license.md +21 -0
- package/node_modules/ms/package.json +73 -0
- package/node_modules/ms/readme.md +51 -0
- package/package.json +34 -31
- package/dist/Sensor/HttpSensorPodInterface.js +0 -78
- package/dist/Sensor/MockSensorPodInterface.js +0 -73
- package/dist/Sensor/SensorPodInterface.js +0 -10
package/README.md
CHANGED
|
@@ -13,7 +13,7 @@ The easiest way to create a new sensor would be to extend the `BaseSensor` class
|
|
|
13
13
|
`BaseSensor` provides the following class properties:
|
|
14
14
|
|
|
15
15
|
- `config`: [SensorConfig](#sensorconfig) This is all the configuration information for your instance
|
|
16
|
-
- `
|
|
16
|
+
- `sdk`: [SensorAgentInterface](#sensoragentinterface) This is a collection of helper functions
|
|
17
17
|
|
|
18
18
|
#### Example
|
|
19
19
|
|
|
@@ -35,18 +35,18 @@ export class MySensor extends BaseSensor {
|
|
|
35
35
|
body.push(chunk);
|
|
36
36
|
})
|
|
37
37
|
.on('end', () => {
|
|
38
|
-
this.
|
|
38
|
+
this.sdk.sendEvent('MyEvent', Buffer.concat(body).toString());
|
|
39
39
|
res.end('ok');
|
|
40
40
|
});
|
|
41
41
|
});
|
|
42
42
|
|
|
43
43
|
this.server.on('error', err => {
|
|
44
|
-
this.
|
|
44
|
+
this.sdk.log.error(err.message);
|
|
45
45
|
reject(err);
|
|
46
46
|
});
|
|
47
47
|
|
|
48
48
|
this.server.listen(parseInt(this.config.inputs.port, 10), () => {
|
|
49
|
-
this.
|
|
49
|
+
this.sdk.log.debug(`Server started on port: ${this.config.inputs.port}`);
|
|
50
50
|
resolve();
|
|
51
51
|
});
|
|
52
52
|
});
|
|
@@ -77,18 +77,18 @@ class MySensor extends BaseSensor {
|
|
|
77
77
|
body.push(chunk);
|
|
78
78
|
})
|
|
79
79
|
.on('end', () => {
|
|
80
|
-
this.
|
|
80
|
+
this.sdk.sendEvent('MyEvent', Buffer.concat(body).toString());
|
|
81
81
|
res.end('ok');
|
|
82
82
|
});
|
|
83
83
|
});
|
|
84
84
|
|
|
85
85
|
this.server.on('error', err => {
|
|
86
|
-
this.
|
|
86
|
+
this.sdk.log.error(err.message);
|
|
87
87
|
reject(err);
|
|
88
88
|
});
|
|
89
89
|
|
|
90
90
|
this.server.listen(parseInt(this.config.inputs.port, 10), () => {
|
|
91
|
-
this.
|
|
91
|
+
this.sdk.log.info(`Server started on port: ${this.config.inputs.port}`);
|
|
92
92
|
resolve();
|
|
93
93
|
});
|
|
94
94
|
});
|
|
@@ -113,7 +113,7 @@ If you wish to build your own Sensor class, your class will need to match the fo
|
|
|
113
113
|
|
|
114
114
|
**constructor**: Your constructor will receive two arguments:
|
|
115
115
|
|
|
116
|
-
- an instance of the [
|
|
116
|
+
- an instance of the [SensorAgentInterface](#sensoragentinterface)
|
|
117
117
|
- a [SensorConfig](#sensorconfig) object
|
|
118
118
|
|
|
119
119
|
**start()**: a start method that returns a `Promise` that resolves when the sensor is started
|
|
@@ -128,13 +128,12 @@ An object with all the configuration information for your sensor:
|
|
|
128
128
|
- `sensor`: The sensor manifest
|
|
129
129
|
- `inputs`: Values for any inputs your instance may need
|
|
130
130
|
|
|
131
|
-
##
|
|
131
|
+
## SensorAgentInterface
|
|
132
132
|
|
|
133
133
|
An object that contains helper functions so your sensor can interface with Turbine
|
|
134
134
|
|
|
135
|
-
- `
|
|
136
|
-
|
|
137
|
-
- `logger`: contains functions to log data back to Turbine
|
|
135
|
+
- `sendEvent(type, message)`: Send an event to Turbine
|
|
136
|
+
- `log`: contains functions to log data back to Turbine
|
|
138
137
|
- `critical(message, ...opts)`: Send a critical log message
|
|
139
138
|
- `error(message, ...opts)`: Send an error log message
|
|
140
139
|
- `warn(message, ...opts)`: Send a warning log message
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SensorAgentInterface } from './SensorAgentInterface';
|
|
2
2
|
import { SensorConfig } from './SensorConfig';
|
|
3
3
|
export declare abstract class BaseSensor<T = any> {
|
|
4
|
-
protected
|
|
4
|
+
protected sdk: SensorAgentInterface;
|
|
5
5
|
protected config: SensorConfig<T>;
|
|
6
|
-
constructor(
|
|
6
|
+
constructor(sdk: SensorAgentInterface, config: SensorConfig<T>);
|
|
7
7
|
abstract start(): Promise<void>;
|
|
8
8
|
abstract stop(): Promise<void>;
|
|
9
9
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
class BaseSensor {
|
|
4
|
-
constructor(
|
|
5
|
-
this.
|
|
4
|
+
constructor(sdk, config) {
|
|
5
|
+
this.sdk = sdk;
|
|
6
6
|
this.config = config;
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
9
|
exports.BaseSensor = BaseSensor;
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZVNlbnNvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9TZW5zb3IvQmFzZVNlbnNvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUdBLE1BQXNCLFVBQVU7SUFDOUIsWUFBc0IsR0FBeUIsRUFBWSxNQUF1QjtRQUE1RCxRQUFHLEdBQUgsR0FBRyxDQUFzQjtRQUFZLFdBQU0sR0FBTixNQUFNLENBQWlCO0lBQUcsQ0FBQztDQUt2RjtBQU5ELGdDQU1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2Vuc29yQWdlbnRJbnRlcmZhY2UgfSBmcm9tICcuL1NlbnNvckFnZW50SW50ZXJmYWNlJztcbmltcG9ydCB7IFNlbnNvckNvbmZpZyB9IGZyb20gJy4vU2Vuc29yQ29uZmlnJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VTZW5zb3I8VCA9IGFueT4ge1xuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgc2RrOiBTZW5zb3JBZ2VudEludGVyZmFjZSwgcHJvdGVjdGVkIGNvbmZpZzogU2Vuc29yQ29uZmlnPFQ+KSB7fVxuXG4gIGFic3RyYWN0IGFzeW5jIHN0YXJ0KCk6IFByb21pc2U8dm9pZD47XG5cbiAgYWJzdHJhY3QgYXN5bmMgc3RvcCgpOiBQcm9taXNlPHZvaWQ+O1xufVxuIl19
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SensorAgentInterface } from './SensorAgentInterface';
|
|
2
2
|
import { AxiosInstance } from 'axios';
|
|
3
3
|
import { SensorHelloResponse } from './SensorConfig';
|
|
4
|
-
export declare class
|
|
4
|
+
export declare class HttpSensorAgentInterface extends SensorAgentInterface {
|
|
5
5
|
private socketPath;
|
|
6
|
-
readonly
|
|
6
|
+
readonly log: {
|
|
7
7
|
crit: (message: string, ...opts: any[]) => void;
|
|
8
8
|
error: (message: string, ...opts: any[]) => void;
|
|
9
9
|
warn: (message: string, ...opts: any[]) => void;
|
|
10
10
|
info: (message: string, ...opts: any[]) => void;
|
|
11
11
|
debug: (message: string, ...opts: any[]) => void;
|
|
12
12
|
};
|
|
13
|
-
readonly
|
|
13
|
+
readonly system: {
|
|
14
14
|
hello: () => Promise<SensorHelloResponse>;
|
|
15
15
|
newState: (state: string) => Promise<void>;
|
|
16
|
-
sendEvent: (type: string, data: any) => Promise<void>;
|
|
17
16
|
};
|
|
18
17
|
request: AxiosInstance;
|
|
19
18
|
constructor(id: string, socketPath: string);
|
|
20
|
-
|
|
19
|
+
sendEvent(type: string, data: any): Promise<void>;
|
|
20
|
+
private _log;
|
|
21
21
|
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const SensorAgentInterface_1 = require("./SensorAgentInterface");
|
|
13
|
+
const axios_1 = require("axios");
|
|
14
|
+
class HttpSensorAgentInterface extends SensorAgentInterface_1.SensorAgentInterface {
|
|
15
|
+
constructor(id, socketPath) {
|
|
16
|
+
super(id);
|
|
17
|
+
this.socketPath = socketPath;
|
|
18
|
+
// bug in typings
|
|
19
|
+
this.request = axios_1.default.create({
|
|
20
|
+
socketPath
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
get log() {
|
|
24
|
+
return {
|
|
25
|
+
crit: (message, ...opts) => this._log('crit', message, ...opts),
|
|
26
|
+
error: (message, ...opts) => this._log('error', message, ...opts),
|
|
27
|
+
warn: (message, ...opts) => this._log('warn', message, ...opts),
|
|
28
|
+
info: (message, ...opts) => this._log('info', message, ...opts),
|
|
29
|
+
debug: (message, ...opts) => this._log('debug', message, ...opts)
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
get system() {
|
|
33
|
+
return {
|
|
34
|
+
hello: () => __awaiter(this, void 0, void 0, function* () {
|
|
35
|
+
try {
|
|
36
|
+
const response = yield this.request.post('/hello');
|
|
37
|
+
return response.data;
|
|
38
|
+
}
|
|
39
|
+
catch (err) {
|
|
40
|
+
this.log.error('Unable to get hello message from agent', err);
|
|
41
|
+
throw new Error('Unable to get hello message from agent');
|
|
42
|
+
}
|
|
43
|
+
}),
|
|
44
|
+
newState: (state) => __awaiter(this, void 0, void 0, function* () {
|
|
45
|
+
this.request.post('/state', { state }).catch(err => this.log.error('Unable to send new state to agent', err));
|
|
46
|
+
})
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
sendEvent(type, data) {
|
|
50
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
51
|
+
this.request.post('/event', { type, data }).catch(err => this.log.error('Unable to send event to agent', err));
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
_log(level, message, ...opts) {
|
|
55
|
+
// log it remotely
|
|
56
|
+
this.request
|
|
57
|
+
.post('/log', {
|
|
58
|
+
level,
|
|
59
|
+
message,
|
|
60
|
+
opts
|
|
61
|
+
})
|
|
62
|
+
.catch(err => console.error('Unable to send log message to Pod', err));
|
|
63
|
+
// log it locally
|
|
64
|
+
const optionalParams = opts.length ? opts : '';
|
|
65
|
+
switch (level) {
|
|
66
|
+
case 'error':
|
|
67
|
+
case 'crit':
|
|
68
|
+
console.error(message, optionalParams);
|
|
69
|
+
break;
|
|
70
|
+
case 'debug':
|
|
71
|
+
// Set to .log vs .debug for pre Node 9.3 compat
|
|
72
|
+
// See https://nodejs.org/api/console.html#console_console_debug_data_args
|
|
73
|
+
console.log(message, optionalParams);
|
|
74
|
+
break;
|
|
75
|
+
default:
|
|
76
|
+
console.info(message, optionalParams);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
exports.HttpSensorAgentInterface = HttpSensorAgentInterface;
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cFNlbnNvckFnZW50SW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1NlbnNvci9IdHRwU2Vuc29yQWdlbnRJbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxpRUFBOEQ7QUFDOUQsaUNBQTZDO0FBRzdDLE1BQWEsd0JBQXlCLFNBQVEsMkNBQW9CO0lBOEJoRSxZQUFZLEVBQVUsRUFBVSxVQUFrQjtRQUNoRCxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFEb0IsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQUdoRCxpQkFBaUI7UUFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxlQUFLLENBQUMsTUFBTSxDQUFNO1lBQy9CLFVBQVU7U0FDWCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBcENELElBQUksR0FBRztRQUNMLE9BQU87WUFDTCxJQUFJLEVBQUUsQ0FBQyxPQUFlLEVBQUUsR0FBRyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQztZQUN2RSxLQUFLLEVBQUUsQ0FBQyxPQUFlLEVBQUUsR0FBRyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQztZQUN6RSxJQUFJLEVBQUUsQ0FBQyxPQUFlLEVBQUUsR0FBRyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQztZQUN2RSxJQUFJLEVBQUUsQ0FBQyxPQUFlLEVBQUUsR0FBRyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQztZQUN2RSxLQUFLLEVBQUUsQ0FBQyxPQUFlLEVBQUUsR0FBRyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQztTQUMxRSxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU87WUFDTCxLQUFLLEVBQUUsR0FBdUMsRUFBRTtnQkFDOUMsSUFBSTtvQkFDRixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUNuRCxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUM7aUJBQ3RCO2dCQUFDLE9BQU8sR0FBRyxFQUFFO29CQUNaLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLHdDQUF3QyxFQUFFLEdBQUcsQ0FBQyxDQUFDO29CQUM5RCxNQUFNLElBQUksS0FBSyxDQUFDLHdDQUF3QyxDQUFDLENBQUM7aUJBQzNEO1lBQ0gsQ0FBQyxDQUFBO1lBQ0QsUUFBUSxFQUFFLENBQU8sS0FBYSxFQUFpQixFQUFFO2dCQUMvQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLG1DQUFtQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDaEgsQ0FBQyxDQUFBO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFhSyxTQUFTLENBQUMsSUFBWSxFQUFFLElBQVM7O1lBQ3JDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLCtCQUErQixFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDakgsQ0FBQztLQUFBO0lBRU8sSUFBSSxDQUFDLEtBQWEsRUFBRSxPQUFlLEVBQUUsR0FBRyxJQUFJO1FBQ2xELGtCQUFrQjtRQUNsQixJQUFJLENBQUMsT0FBTzthQUNULElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWixLQUFLO1lBQ0wsT0FBTztZQUNQLElBQUk7U0FDTCxDQUFDO2FBQ0QsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxtQ0FBbUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRXpFLGlCQUFpQjtRQUNqQixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMvQyxRQUFRLEtBQUssRUFBRTtZQUNiLEtBQUssT0FBTyxDQUFDO1lBQ2IsS0FBSyxNQUFNO2dCQUNULE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDO2dCQUN2QyxNQUFNO1lBQ1IsS0FBSyxPQUFPO2dCQUNWLGdEQUFnRDtnQkFDaEQsMEVBQTBFO2dCQUMxRSxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQztnQkFDckMsTUFBTTtZQUNSO2dCQUNFLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztDQUNGO0FBckVELDREQXFFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlbnNvckFnZW50SW50ZXJmYWNlIH0gZnJvbSAnLi9TZW5zb3JBZ2VudEludGVyZmFjZSc7XG5pbXBvcnQgYXhpb3MsIHsgQXhpb3NJbnN0YW5jZSB9IGZyb20gJ2F4aW9zJztcbmltcG9ydCB7IFNlbnNvckhlbGxvUmVzcG9uc2UgfSBmcm9tICcuL1NlbnNvckNvbmZpZyc7XG5cbmV4cG9ydCBjbGFzcyBIdHRwU2Vuc29yQWdlbnRJbnRlcmZhY2UgZXh0ZW5kcyBTZW5zb3JBZ2VudEludGVyZmFjZSB7XG4gIGdldCBsb2coKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNyaXQ6IChtZXNzYWdlOiBzdHJpbmcsIC4uLm9wdHMpID0+IHRoaXMuX2xvZygnY3JpdCcsIG1lc3NhZ2UsIC4uLm9wdHMpLFxuICAgICAgZXJyb3I6IChtZXNzYWdlOiBzdHJpbmcsIC4uLm9wdHMpID0+IHRoaXMuX2xvZygnZXJyb3InLCBtZXNzYWdlLCAuLi5vcHRzKSxcbiAgICAgIHdhcm46IChtZXNzYWdlOiBzdHJpbmcsIC4uLm9wdHMpID0+IHRoaXMuX2xvZygnd2FybicsIG1lc3NhZ2UsIC4uLm9wdHMpLFxuICAgICAgaW5mbzogKG1lc3NhZ2U6IHN0cmluZywgLi4ub3B0cykgPT4gdGhpcy5fbG9nKCdpbmZvJywgbWVzc2FnZSwgLi4ub3B0cyksXG4gICAgICBkZWJ1ZzogKG1lc3NhZ2U6IHN0cmluZywgLi4ub3B0cykgPT4gdGhpcy5fbG9nKCdkZWJ1ZycsIG1lc3NhZ2UsIC4uLm9wdHMpXG4gICAgfTtcbiAgfVxuXG4gIGdldCBzeXN0ZW0oKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGhlbGxvOiBhc3luYyAoKTogUHJvbWlzZTxTZW5zb3JIZWxsb1Jlc3BvbnNlPiA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnJlcXVlc3QucG9zdCgnL2hlbGxvJyk7XG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgIHRoaXMubG9nLmVycm9yKCdVbmFibGUgdG8gZ2V0IGhlbGxvIG1lc3NhZ2UgZnJvbSBhZ2VudCcsIGVycik7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmFibGUgdG8gZ2V0IGhlbGxvIG1lc3NhZ2UgZnJvbSBhZ2VudCcpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgbmV3U3RhdGU6IGFzeW5jIChzdGF0ZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgICAgIHRoaXMucmVxdWVzdC5wb3N0KCcvc3RhdGUnLCB7IHN0YXRlIH0pLmNhdGNoKGVyciA9PiB0aGlzLmxvZy5lcnJvcignVW5hYmxlIHRvIHNlbmQgbmV3IHN0YXRlIHRvIGFnZW50JywgZXJyKSk7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIHJlcXVlc3Q6IEF4aW9zSW5zdGFuY2U7XG5cbiAgY29uc3RydWN0b3IoaWQ6IHN0cmluZywgcHJpdmF0ZSBzb2NrZXRQYXRoOiBzdHJpbmcpIHtcbiAgICBzdXBlcihpZCk7XG5cbiAgICAvLyBidWcgaW4gdHlwaW5nc1xuICAgIHRoaXMucmVxdWVzdCA9IGF4aW9zLmNyZWF0ZSg8YW55PntcbiAgICAgIHNvY2tldFBhdGhcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHNlbmRFdmVudCh0eXBlOiBzdHJpbmcsIGRhdGE6IGFueSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMucmVxdWVzdC5wb3N0KCcvZXZlbnQnLCB7IHR5cGUsIGRhdGEgfSkuY2F0Y2goZXJyID0+IHRoaXMubG9nLmVycm9yKCdVbmFibGUgdG8gc2VuZCBldmVudCB0byBhZ2VudCcsIGVycikpO1xuICB9XG5cbiAgcHJpdmF0ZSBfbG9nKGxldmVsOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZywgLi4ub3B0cyk6IHZvaWQge1xuICAgIC8vIGxvZyBpdCByZW1vdGVseVxuICAgIHRoaXMucmVxdWVzdFxuICAgICAgLnBvc3QoJy9sb2cnLCB7XG4gICAgICAgIGxldmVsLFxuICAgICAgICBtZXNzYWdlLFxuICAgICAgICBvcHRzXG4gICAgICB9KVxuICAgICAgLmNhdGNoKGVyciA9PiBjb25zb2xlLmVycm9yKCdVbmFibGUgdG8gc2VuZCBsb2cgbWVzc2FnZSB0byBQb2QnLCBlcnIpKTtcblxuICAgIC8vIGxvZyBpdCBsb2NhbGx5XG4gICAgY29uc3Qgb3B0aW9uYWxQYXJhbXMgPSBvcHRzLmxlbmd0aCA/IG9wdHMgOiAnJztcbiAgICBzd2l0Y2ggKGxldmVsKSB7XG4gICAgICBjYXNlICdlcnJvcic6XG4gICAgICBjYXNlICdjcml0JzpcbiAgICAgICAgY29uc29sZS5lcnJvcihtZXNzYWdlLCBvcHRpb25hbFBhcmFtcyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZGVidWcnOlxuICAgICAgICAvLyBTZXQgdG8gLmxvZyB2cyAuZGVidWcgZm9yIHByZSBOb2RlIDkuMyBjb21wYXRcbiAgICAgICAgLy8gU2VlIGh0dHBzOi8vbm9kZWpzLm9yZy9hcGkvY29uc29sZS5odG1sI2NvbnNvbGVfY29uc29sZV9kZWJ1Z19kYXRhX2FyZ3NcbiAgICAgICAgY29uc29sZS5sb2cobWVzc2FnZSwgb3B0aW9uYWxQYXJhbXMpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGNvbnNvbGUuaW5mbyhtZXNzYWdlLCBvcHRpb25hbFBhcmFtcyk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SensorAgentInterface } from './SensorAgentInterface';
|
|
2
2
|
import { SensorHelloResponse } from '.';
|
|
3
|
-
export declare class MockSensorPodInterface extends
|
|
3
|
+
export declare class MockSensorPodInterface extends SensorAgentInterface {
|
|
4
4
|
events: Array<{
|
|
5
5
|
type: string;
|
|
6
6
|
data: any;
|
|
7
7
|
}>;
|
|
8
|
-
readonly
|
|
8
|
+
readonly log: {
|
|
9
9
|
crit: (message: string, ...opts: any[]) => void;
|
|
10
10
|
error: (message: string, ...opts: any[]) => void;
|
|
11
11
|
warn: (message: string, ...opts: any[]) => void;
|
|
12
12
|
info: (message: string, ...opts: any[]) => void;
|
|
13
13
|
debug: (message: string, ...opts: any[]) => void;
|
|
14
14
|
};
|
|
15
|
-
readonly
|
|
15
|
+
readonly system: {
|
|
16
16
|
hello: () => Promise<SensorHelloResponse>;
|
|
17
17
|
newState: (state: string) => Promise<void>;
|
|
18
|
-
sendEvent: (type: string, data: any) => Promise<void>;
|
|
19
18
|
};
|
|
20
19
|
constructor(id: string);
|
|
21
|
-
|
|
20
|
+
sendEvent(type: string, data: any): Promise<void>;
|
|
21
|
+
private _log;
|
|
22
22
|
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const SensorAgentInterface_1 = require("./SensorAgentInterface");
|
|
13
|
+
class MockSensorPodInterface extends SensorAgentInterface_1.SensorAgentInterface {
|
|
14
|
+
constructor(id) {
|
|
15
|
+
super(id);
|
|
16
|
+
this.events = [];
|
|
17
|
+
}
|
|
18
|
+
get log() {
|
|
19
|
+
return {
|
|
20
|
+
crit: (message, ...opts) => this._log('crit', message, ...opts),
|
|
21
|
+
error: (message, ...opts) => this._log('error', message, ...opts),
|
|
22
|
+
warn: (message, ...opts) => this._log('warn', message, ...opts),
|
|
23
|
+
info: (message, ...opts) => this._log('info', message, ...opts),
|
|
24
|
+
debug: (message, ...opts) => this._log('debug', message, ...opts)
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
get system() {
|
|
28
|
+
return {
|
|
29
|
+
hello: () => __awaiter(this, void 0, void 0, function* () {
|
|
30
|
+
return {
|
|
31
|
+
plugin: {
|
|
32
|
+
name: 'mock',
|
|
33
|
+
checksum: 'asdf1234'
|
|
34
|
+
},
|
|
35
|
+
inputs: {},
|
|
36
|
+
sensor: {
|
|
37
|
+
schema: 'sensor/1',
|
|
38
|
+
name: 'mock',
|
|
39
|
+
title: 'Mock Sensor',
|
|
40
|
+
description: 'A Mock Sensor',
|
|
41
|
+
entrypoint: '',
|
|
42
|
+
inputs: {},
|
|
43
|
+
events: {}
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
}),
|
|
47
|
+
newState: (state) => __awaiter(this, void 0, void 0, function* () {
|
|
48
|
+
return;
|
|
49
|
+
})
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
sendEvent(type, data) {
|
|
53
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
+
this.events.push({ type, data });
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
_log(level, message, ...opts) {
|
|
58
|
+
// log it locally
|
|
59
|
+
const optionalParams = opts.length ? opts : '';
|
|
60
|
+
switch (level) {
|
|
61
|
+
case 'error':
|
|
62
|
+
case 'crit':
|
|
63
|
+
console.error(message, optionalParams);
|
|
64
|
+
break;
|
|
65
|
+
case 'debug':
|
|
66
|
+
// Set to .log vs .debug for pre Node 9.3 compat
|
|
67
|
+
// See https://nodejs.org/api/console.html#console_console_debug_data_args
|
|
68
|
+
console.log(message, optionalParams);
|
|
69
|
+
break;
|
|
70
|
+
default:
|
|
71
|
+
console.info(message, optionalParams);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
exports.MockSensorPodInterface = MockSensorPodInterface;
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9ja1NlbnNvckFnZW50SW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1NlbnNvci9Nb2NrU2Vuc29yQWdlbnRJbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxpRUFBOEQ7QUFHOUQsTUFBYSxzQkFBdUIsU0FBUSwyQ0FBb0I7SUF1QzlELFlBQVksRUFBVTtRQUNwQixLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUF2Q1osV0FBTSxHQUF1QyxFQUFFLENBQUM7SUF3Q2hELENBQUM7SUF0Q0QsSUFBSSxHQUFHO1FBQ0wsT0FBTztZQUNMLElBQUksRUFBRSxDQUFDLE9BQWUsRUFBRSxHQUFHLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDO1lBQ3ZFLEtBQUssRUFBRSxDQUFDLE9BQWUsRUFBRSxHQUFHLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDO1lBQ3pFLElBQUksRUFBRSxDQUFDLE9BQWUsRUFBRSxHQUFHLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDO1lBQ3ZFLElBQUksRUFBRSxDQUFDLE9BQWUsRUFBRSxHQUFHLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDO1lBQ3ZFLEtBQUssRUFBRSxDQUFDLE9BQWUsRUFBRSxHQUFHLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDO1NBQzFFLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTztZQUNMLEtBQUssRUFBRSxHQUF1QyxFQUFFO2dCQUM5QyxPQUFPO29CQUNMLE1BQU0sRUFBRTt3QkFDTixJQUFJLEVBQUUsTUFBTTt3QkFDWixRQUFRLEVBQUUsVUFBVTtxQkFDckI7b0JBQ0QsTUFBTSxFQUFFLEVBQUU7b0JBQ1YsTUFBTSxFQUFFO3dCQUNOLE1BQU0sRUFBRSxVQUFVO3dCQUNsQixJQUFJLEVBQUUsTUFBTTt3QkFDWixLQUFLLEVBQUUsYUFBYTt3QkFDcEIsV0FBVyxFQUFFLGVBQWU7d0JBQzVCLFVBQVUsRUFBRSxFQUFFO3dCQUNkLE1BQU0sRUFBRSxFQUFFO3dCQUNWLE1BQU0sRUFBRSxFQUFFO3FCQUNYO2lCQUNGLENBQUM7WUFDSixDQUFDLENBQUE7WUFDRCxRQUFRLEVBQUUsQ0FBTyxLQUFhLEVBQWlCLEVBQUU7Z0JBQy9DLE9BQU87WUFDVCxDQUFDLENBQUE7U0FDRixDQUFDO0lBQ0osQ0FBQztJQU1LLFNBQVMsQ0FBQyxJQUFZLEVBQUUsSUFBUzs7WUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNuQyxDQUFDO0tBQUE7SUFFTyxJQUFJLENBQUMsS0FBYSxFQUFFLE9BQWUsRUFBRSxHQUFHLElBQUk7UUFDbEQsaUJBQWlCO1FBQ2pCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQy9DLFFBQVEsS0FBSyxFQUFFO1lBQ2IsS0FBSyxPQUFPLENBQUM7WUFDYixLQUFLLE1BQU07Z0JBQ1QsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUM7Z0JBQ3ZDLE1BQU07WUFDUixLQUFLLE9BQU87Z0JBQ1YsZ0RBQWdEO2dCQUNoRCwwRUFBMEU7Z0JBQzFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDO2dCQUNyQyxNQUFNO1lBQ1I7Z0JBQ0UsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUM7U0FDekM7SUFDSCxDQUFDO0NBQ0Y7QUFoRUQsd0RBZ0VDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2Vuc29yQWdlbnRJbnRlcmZhY2UgfSBmcm9tICcuL1NlbnNvckFnZW50SW50ZXJmYWNlJztcbmltcG9ydCB7IFNlbnNvckhlbGxvUmVzcG9uc2UgfSBmcm9tICcuJztcblxuZXhwb3J0IGNsYXNzIE1vY2tTZW5zb3JQb2RJbnRlcmZhY2UgZXh0ZW5kcyBTZW5zb3JBZ2VudEludGVyZmFjZSB7XG4gIGV2ZW50czogQXJyYXk8eyB0eXBlOiBzdHJpbmc7IGRhdGE6IGFueSB9PiA9IFtdO1xuXG4gIGdldCBsb2coKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNyaXQ6IChtZXNzYWdlOiBzdHJpbmcsIC4uLm9wdHMpID0+IHRoaXMuX2xvZygnY3JpdCcsIG1lc3NhZ2UsIC4uLm9wdHMpLFxuICAgICAgZXJyb3I6IChtZXNzYWdlOiBzdHJpbmcsIC4uLm9wdHMpID0+IHRoaXMuX2xvZygnZXJyb3InLCBtZXNzYWdlLCAuLi5vcHRzKSxcbiAgICAgIHdhcm46IChtZXNzYWdlOiBzdHJpbmcsIC4uLm9wdHMpID0+IHRoaXMuX2xvZygnd2FybicsIG1lc3NhZ2UsIC4uLm9wdHMpLFxuICAgICAgaW5mbzogKG1lc3NhZ2U6IHN0cmluZywgLi4ub3B0cykgPT4gdGhpcy5fbG9nKCdpbmZvJywgbWVzc2FnZSwgLi4ub3B0cyksXG4gICAgICBkZWJ1ZzogKG1lc3NhZ2U6IHN0cmluZywgLi4ub3B0cykgPT4gdGhpcy5fbG9nKCdkZWJ1ZycsIG1lc3NhZ2UsIC4uLm9wdHMpXG4gICAgfTtcbiAgfVxuXG4gIGdldCBzeXN0ZW0oKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGhlbGxvOiBhc3luYyAoKTogUHJvbWlzZTxTZW5zb3JIZWxsb1Jlc3BvbnNlPiA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcGx1Z2luOiB7XG4gICAgICAgICAgICBuYW1lOiAnbW9jaycsXG4gICAgICAgICAgICBjaGVja3N1bTogJ2FzZGYxMjM0J1xuICAgICAgICAgIH0sXG4gICAgICAgICAgaW5wdXRzOiB7fSxcbiAgICAgICAgICBzZW5zb3I6IHtcbiAgICAgICAgICAgIHNjaGVtYTogJ3NlbnNvci8xJyxcbiAgICAgICAgICAgIG5hbWU6ICdtb2NrJyxcbiAgICAgICAgICAgIHRpdGxlOiAnTW9jayBTZW5zb3InLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdBIE1vY2sgU2Vuc29yJyxcbiAgICAgICAgICAgIGVudHJ5cG9pbnQ6ICcnLFxuICAgICAgICAgICAgaW5wdXRzOiB7fSxcbiAgICAgICAgICAgIGV2ZW50czoge31cbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICB9LFxuICAgICAgbmV3U3RhdGU6IGFzeW5jIChzdGF0ZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgY29uc3RydWN0b3IoaWQ6IHN0cmluZykge1xuICAgIHN1cGVyKGlkKTtcbiAgfVxuXG4gIGFzeW5jIHNlbmRFdmVudCh0eXBlOiBzdHJpbmcsIGRhdGE6IGFueSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuZXZlbnRzLnB1c2goeyB0eXBlLCBkYXRhIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfbG9nKGxldmVsOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZywgLi4ub3B0cyk6IHZvaWQge1xuICAgIC8vIGxvZyBpdCBsb2NhbGx5XG4gICAgY29uc3Qgb3B0aW9uYWxQYXJhbXMgPSBvcHRzLmxlbmd0aCA/IG9wdHMgOiAnJztcbiAgICBzd2l0Y2ggKGxldmVsKSB7XG4gICAgICBjYXNlICdlcnJvcic6XG4gICAgICBjYXNlICdjcml0JzpcbiAgICAgICAgY29uc29sZS5lcnJvcihtZXNzYWdlLCBvcHRpb25hbFBhcmFtcyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZGVidWcnOlxuICAgICAgICAvLyBTZXQgdG8gLmxvZyB2cyAuZGVidWcgZm9yIHByZSBOb2RlIDkuMyBjb21wYXRcbiAgICAgICAgLy8gU2VlIGh0dHBzOi8vbm9kZWpzLm9yZy9hcGkvY29uc29sZS5odG1sI2NvbnNvbGVfY29uc29sZV9kZWJ1Z19kYXRhX2FyZ3NcbiAgICAgICAgY29uc29sZS5sb2cobWVzc2FnZSwgb3B0aW9uYWxQYXJhbXMpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGNvbnNvbGUuaW5mbyhtZXNzYWdlLCBvcHRpb25hbFBhcmFtcyk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { SensorHelloResponse } from './SensorConfig';
|
|
2
|
-
export declare abstract class
|
|
2
|
+
export declare abstract class SensorAgentInterface {
|
|
3
3
|
readonly id: string;
|
|
4
|
-
readonly
|
|
4
|
+
readonly log: {
|
|
5
5
|
crit: (message: string, ...opts: any[]) => void;
|
|
6
6
|
error: (message: string, ...opts: any[]) => void;
|
|
7
7
|
warn: (message: string, ...opts: any[]) => void;
|
|
8
8
|
info: (message: string, ...opts: any[]) => void;
|
|
9
9
|
debug: (message: string, ...opts: any[]) => void;
|
|
10
10
|
};
|
|
11
|
-
readonly
|
|
11
|
+
readonly system: {
|
|
12
12
|
hello: () => Promise<SensorHelloResponse>;
|
|
13
13
|
newState: (state: string) => Promise<void>;
|
|
14
|
-
sendEvent: (type: string, data: any) => Promise<void>;
|
|
15
14
|
};
|
|
16
15
|
constructor(id: string);
|
|
16
|
+
sendEvent(type: string, data: any): Promise<void>;
|
|
17
17
|
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
class SensorAgentInterface {
|
|
13
|
+
constructor(id) {
|
|
14
|
+
this.id = id;
|
|
15
|
+
/* */
|
|
16
|
+
}
|
|
17
|
+
sendEvent(type, data) {
|
|
18
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
19
|
+
/* */
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.SensorAgentInterface = SensorAgentInterface;
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2Vuc29yQWdlbnRJbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU2Vuc29yL1NlbnNvckFnZW50SW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBRUEsTUFBc0Isb0JBQW9CO0lBYXhDLFlBQXFCLEVBQVU7UUFBVixPQUFFLEdBQUYsRUFBRSxDQUFRO1FBQzdCLE1BQU07SUFDUixDQUFDO0lBRUssU0FBUyxDQUFDLElBQVksRUFBRSxJQUFTOztZQUNyQyxNQUFNO1FBQ1IsQ0FBQztLQUFBO0NBQ0Y7QUFwQkQsb0RBb0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2Vuc29ySGVsbG9SZXNwb25zZSB9IGZyb20gJy4vU2Vuc29yQ29uZmlnJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNlbnNvckFnZW50SW50ZXJmYWNlIHtcbiAgcmVhZG9ubHkgbG9nOiB7XG4gICAgY3JpdDogKG1lc3NhZ2U6IHN0cmluZywgLi4ub3B0czogYW55W10pID0+IHZvaWQ7XG4gICAgZXJyb3I6IChtZXNzYWdlOiBzdHJpbmcsIC4uLm9wdHM6IGFueVtdKSA9PiB2b2lkO1xuICAgIHdhcm46IChtZXNzYWdlOiBzdHJpbmcsIC4uLm9wdHM6IGFueVtdKSA9PiB2b2lkO1xuICAgIGluZm86IChtZXNzYWdlOiBzdHJpbmcsIC4uLm9wdHM6IGFueVtdKSA9PiB2b2lkO1xuICAgIGRlYnVnOiAobWVzc2FnZTogc3RyaW5nLCAuLi5vcHRzOiBhbnlbXSkgPT4gdm9pZDtcbiAgfTtcbiAgcmVhZG9ubHkgc3lzdGVtOiB7XG4gICAgaGVsbG86ICgpID0+IFByb21pc2U8U2Vuc29ySGVsbG9SZXNwb25zZT47XG4gICAgbmV3U3RhdGU6IChzdGF0ZTogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+O1xuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGlkOiBzdHJpbmcpIHtcbiAgICAvKiAgKi9cbiAgfVxuXG4gIGFzeW5jIHNlbmRFdmVudCh0eXBlOiBzdHJpbmcsIGRhdGE6IGFueSk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8qICAqL1xuICB9XG59XG4iXX0=
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
export interface SensorConfig<T = any> {
|
|
2
2
|
id: string;
|
|
3
|
-
sensor:
|
|
3
|
+
sensor: SensorManifest;
|
|
4
4
|
inputs: T;
|
|
5
5
|
}
|
|
6
6
|
export interface SensorHelloResponse {
|
|
7
|
-
|
|
7
|
+
plugin: {
|
|
8
8
|
name: string;
|
|
9
9
|
checksum: string;
|
|
10
10
|
};
|
|
11
11
|
inputs: any;
|
|
12
|
-
sensor:
|
|
12
|
+
sensor: SensorManifest;
|
|
13
13
|
}
|
|
14
|
-
export interface
|
|
14
|
+
export interface SensorManifest {
|
|
15
15
|
schema: string;
|
|
16
16
|
name: string;
|
|
17
17
|
title: string;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2Vuc29yQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1NlbnNvci9TZW5zb3JDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgU2Vuc29yQ29uZmlnPFQgPSBhbnk+
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2Vuc29yQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1NlbnNvci9TZW5zb3JDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgU2Vuc29yQ29uZmlnPFQgPSBhbnk+IHtcbiAgaWQ6IHN0cmluZzsgLy8gVGhlIElEIG9mIHRoZSBpbnN0YW5jZVxuXG4gIHNlbnNvcjogU2Vuc29yTWFuaWZlc3Q7IC8vIFRoZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc2Vuc29yXG5cbiAgaW5wdXRzOiBUOyAvLyBBbnkgaW5wdXRzIG5lZWRlZCBmb3IgdGhlIHNlbnNvclxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlbnNvckhlbGxvUmVzcG9uc2Uge1xuICBwbHVnaW46IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgY2hlY2tzdW06IHN0cmluZztcbiAgfTtcbiAgaW5wdXRzOiBhbnk7XG4gIHNlbnNvcjogU2Vuc29yTWFuaWZlc3Q7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2Vuc29yTWFuaWZlc3Qge1xuICBzY2hlbWE6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBlbnRyeXBvaW50OiBzdHJpbmc7XG4gIGlucHV0czogYW55O1xuICBldmVudHM6IHsgW25hbWU6IHN0cmluZ106IGFueSB9O1xufVxuIl19
|
package/dist/Sensor/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export * from './BaseSensor';
|
|
2
|
-
export * from './
|
|
3
|
-
export * from './
|
|
4
|
-
export * from './MockSensorPodInterface';
|
|
2
|
+
export * from './HttpSensorAgentInterface';
|
|
3
|
+
export * from './MockSensorAgentInterface';
|
|
5
4
|
export * from './SensorConfig';
|
|
5
|
+
export * from './SensorAgentInterface';
|
package/dist/Sensor/index.js
CHANGED
|
@@ -4,7 +4,7 @@ function __export(m) {
|
|
|
4
4
|
}
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
__export(require("./BaseSensor"));
|
|
7
|
-
__export(require("./
|
|
8
|
-
__export(require("./
|
|
9
|
-
__export(require("./
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
__export(require("./HttpSensorAgentInterface"));
|
|
8
|
+
__export(require("./MockSensorAgentInterface"));
|
|
9
|
+
__export(require("./SensorAgentInterface"));
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU2Vuc29yL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsa0NBQTZCO0FBQzdCLGdEQUEyQztBQUMzQyxnREFBMkM7QUFFM0MsNENBQXVDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9CYXNlU2Vuc29yJztcbmV4cG9ydCAqIGZyb20gJy4vSHR0cFNlbnNvckFnZW50SW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vTW9ja1NlbnNvckFnZW50SW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vU2Vuc29yQ29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vU2Vuc29yQWdlbnRJbnRlcmZhY2UnO1xuIl19
|