UNPKG

jspm-devtools

Version:
66 lines (47 loc) 1.67 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.devtools = exports.run = exports.storage = undefined; require('systemjs-hmr'); var _socket = require('socket.io-client'); var _socket2 = _interopRequireDefault(_socket); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var storage = { _socket: null }; var run = function run(name, fn) { for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { args[_key - 2] = arguments[_key]; } return storage[name] ? storage[name] : Promise.resolve(fn.apply(args)).then(function (result) { storage[name] = result || true; }); }; var connect = function connect(port) { if (storage._socket == null) { (function () { var socket = storage._socket = (0, _socket2.default)("https://" + window.location.hostname + ":" + port); socket.on('connect', function () { socket.emit('identification', navigator.userAgent); }); socket.on('reload', function () { document.location.reload(true); }); socket.on('change', function (event) { System.reload(event.path); }); })(); } }; var defaultOptions = { port: 1337 }; var devtools = function devtools() { var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var options = Object.assign({}, defaultOptions, opts); connect(options.port); }; exports.storage = storage; exports.run = run; exports.devtools = devtools;