"use strict"; var _ = require("../../lodash.custom"); module.exports = { /** * Emit the internal `file:change` event * @param {EventEmitter} emitter * @param {string} path * @param {boolean} [log] */ emitChangeEvent: function emitChangeEvent (emitter, path, log) { emitter.emit("file:changed", { path: path, log: log, namespace: "core", event: "change" }); }, /** * Emit the internal `browser:reload` event * @param {EventEmitter} emitter */ emitBrowserReload: function emitChangeEvent (emitter) { emitter.emit("_browser:reload"); }, /** * Emit the internal `stream:changed` event * @param {EventEmitter} emitter * @param {Array} changed */ emitStreamChangedEvent: function (emitter, changed) { emitter.emit("stream:changed", {changed: changed}); }, /** * This code handles the switch between .reload & .stream * since 2.6.0 * @param name * @param args * @returns {boolean} */ isStreamArg: function (name, args) { if (name === "stream") { return true; } if (name !== "reload") { return false; } var firstArg = args[0]; /** * If here, it's reload with args */ if (_.isObject(firstArg)) { if (!Array.isArray(firstArg) && Object.keys(firstArg).length) { return firstArg.stream === true; } } return false; } };