UNPKG

logify

Version:
47 lines (35 loc) 1.28 kB
'use strict'; var _Promise = require('babel-runtime/core-js/promise')['default']; var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default']; Object.defineProperty(exports, '__esModule', { value: true }); exports['default'] = create; var _reconnectNet = require('reconnect-net'); var _reconnectNet2 = _interopRequireDefault(_reconnectNet); var _formatterJsonLine = require('../formatter/json-line'); var _formatterJsonLine2 = _interopRequireDefault(_formatterJsonLine); function create() { var opts = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; opts.host = opts.host || 'localhost'; opts.port = opts.port || 8192; opts.formatter = opts.formatter || _formatterJsonLine2['default']; var socket = undefined; (0, _reconnectNet2['default'])(function (sock) { socket = sock; }).connect(opts.port, opts.host); return function write(entry) { if (!socket) { return _Promise.reject(new Error('Socket not available!')); } return new _Promise(function (resolve, reject) { socket.write(opts.formatter(entry), function (err) { if (err) { return reject(err); } return resolve(); }); }); }; } module.exports = exports['default'];