UNPKG

1.18 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7var _maxSafeInteger = require('babel-runtime/core-js/number/max-safe-integer');
8
9var _maxSafeInteger2 = _interopRequireDefault(_maxSafeInteger);
10
11var _stringify = require('babel-runtime/core-js/json/stringify');
12
13var _stringify2 = _interopRequireDefault(_stringify);
14
15var _through = require('through2');
16
17var _through2 = _interopRequireDefault(_through);
18
19function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
21var getEvent = function getEvent(_ref, fmt) {
22 var type = _ref.type,
23 data = _ref.data;
24 return 'event:' + type + '\ndata:' + (0, _stringify2.default)(fmt ? fmt(data) : data) + '\n\n';
25};
26
27exports.default = function (stream, res, fmt) {
28 res.status(200);
29 res.type('text/event-stream');
30 res.set('Cache-control', 'no-cache');
31 res.write('\n');
32 res.flush();
33
34 res.setTimeout(_maxSafeInteger2.default);
35
36 stream.pipe(_through2.default.obj(function (o, _, cb) {
37 res.write(getEvent(o, fmt));
38 res.flush();
39 cb();
40 }));
41
42 res.once('close', function () {
43 return stream.end();
44 });
45};
46
47module.exports = exports['default'];
\No newline at end of file