UNPKG

1.15 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.stream = undefined;
7
8var _input = require('./input');
9
10var _Rx = require('rxjs/Rx');
11
12var _Rx2 = _interopRequireDefault(_Rx);
13
14function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
16var deviceStreams = new Map();
17var mergedFilteredStream = new _Rx2.default.Subject();
18var INPUT_STREAM_DELAY = 500;
19
20exports.stream = mergedFilteredStream;
21
22
23_input.stream.subscribe(function (event) {
24 var usedStream = getDeviceStream(event.device);
25 usedStream.next(event.value);
26});
27
28function createDeviceStream(device) {
29 var deviceStream = new _Rx2.default.Subject();
30
31 deviceStream.distinctUntilChanged().sampleTime(INPUT_STREAM_DELAY).subscribe(function (value) {
32 mergedFilteredStream.next({
33 device: device,
34 value: value
35 });
36 });
37 deviceStreams.set(device, deviceStream);
38}
39
40function getDeviceStream(device) {
41 if (!deviceStreams.has(device)) {
42 createDeviceStream(device);
43 }
44 return deviceStreams.get(device);
45}
46//# sourceMappingURL=filtered.input.js.map