UNPKG

sugo-actor

Version:
77 lines (56 loc) 5.08 kB
/** * Pipe Emitter for actors * @class ActorPipeEmitter */ 'use strict'; var _Object$assign = require("@babel/runtime/core-js/object/assign"); var _Object$getPrototypeOf = require("@babel/runtime/core-js/object/get-prototype-of"); var _classCallCheck = require("@babel/runtime/helpers/classCallCheck"); var _createClass = require("@babel/runtime/helpers/createClass"); var _possibleConstructorReturn = require("@babel/runtime/helpers/possibleConstructorReturn"); var _inherits = require("@babel/runtime/helpers/inherits"); var _assertThisInitialized = require("@babel/runtime/helpers/assertThisInitialized"); var PipeEmitter = require('./pipe_emitter'); var _require = require('sugo-constants'), PipeLevels = _require.PipeLevels; var ACTOR_LEVEL = PipeLevels.ACTOR_LEVEL; /** @lends ActorPipeEmitter */ var ActorPipeEmitter = /*#__PURE__*/ function (_PipeEmitter) { _inherits(ActorPipeEmitter, _PipeEmitter); function ActorPipeEmitter(socket, defaults) { var _this; _classCallCheck(this, ActorPipeEmitter); _this = _possibleConstructorReturn(this, (ActorPipeEmitter.__proto__ || _Object$getPrototypeOf(ActorPipeEmitter)).call(this, socket)); var pipeEmit = _this.pipeEmit.bind(_assertThisInitialized(_this)); /** * Emit event * @param {string} event - Name of event * @param {Object} data - Event data * @param {Object} [options={}] - Optional settings * @param {string[]} [options.only] - Target caller keys */ _this.emit = function pipingEmitWRap(event, data) { var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; var _options$only = options.only, only = _options$only === void 0 ? null : _options$only; pipeEmit(event, data, { only: only, defaults: _Object$assign({}, defaults, { level: ACTOR_LEVEL }) }); }; return _this; } _createClass(ActorPipeEmitter, [{ key: "shouldPipe", value: function shouldPipe(received) { return !received.module || received.level === ACTOR_LEVEL; } }]); return ActorPipeEmitter; }(PipeEmitter); module.exports = ActorPipeEmitter; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImVtaXR0aW5nL2FjdG9yX3BpcGVfZW1pdHRlci5qcyJdLCJuYW1lcyI6WyJQaXBlRW1pdHRlciIsInJlcXVpcmUiLCJQaXBlTGV2ZWxzIiwiQUNUT1JfTEVWRUwiLCJBY3RvclBpcGVFbWl0dGVyIiwic29ja2V0IiwiZGVmYXVsdHMiLCJwaXBlRW1pdCIsImJpbmQiLCJlbWl0IiwicGlwaW5nRW1pdFdSYXAiLCJldmVudCIsImRhdGEiLCJvcHRpb25zIiwib25seSIsImxldmVsIiwicmVjZWl2ZWQiLCJtb2R1bGUiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiQUFBQTs7OztBQUlBOzs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsSUFBTUEsY0FBY0MsUUFBUSxnQkFBUixDQUFwQjs7ZUFDdUJBLFFBQVEsZ0JBQVIsQztJQUFmQyxVLFlBQUFBLFU7O0lBQ0FDLFcsR0FBZ0JELFUsQ0FBaEJDLFc7QUFFUjs7SUFDTUMsZ0I7Ozs7O0FBQ0osNEJBQWFDLE1BQWIsRUFBcUJDLFFBQXJCLEVBQStCO0FBQUE7O0FBQUE7O0FBQzdCLGlJQUFNRCxNQUFOOztBQUNBLFFBQU1FLFdBQVcsTUFBS0EsUUFBTCxDQUFjQyxJQUFkLCtCQUFqQjtBQUNBOzs7Ozs7Ozs7QUFPQSxVQUFLQyxJQUFMLEdBQVksU0FBU0MsY0FBVCxDQUF5QkMsS0FBekIsRUFBZ0NDLElBQWhDLEVBQW9EO0FBQUEsVUFBZEMsT0FBYyx1RUFBSixFQUFJO0FBQUEsMEJBQ3RDQSxPQURzQyxDQUN0REMsSUFEc0Q7QUFBQSxVQUN0REEsSUFEc0QsOEJBQy9DLElBRCtDO0FBRTlEUCxlQUFTSSxLQUFULEVBQWdCQyxJQUFoQixFQUFzQjtBQUNwQkUsa0JBRG9CO0FBRXBCUixrQkFBVSxlQUFjLEVBQWQsRUFBa0JBLFFBQWxCLEVBQTRCO0FBQ3BDUyxpQkFBT1o7QUFENkIsU0FBNUI7QUFGVSxPQUF0QjtBQU1ELEtBUkQ7O0FBVjZCO0FBbUI5Qjs7OzsrQkFFV2EsUSxFQUFVO0FBQ3BCLGFBQU8sQ0FBQ0EsU0FBU0MsTUFBVixJQUFxQkQsU0FBU0QsS0FBVCxLQUFtQlosV0FBL0M7QUFDRDs7OztFQXhCNEJILFc7O0FBMkIvQmlCLE9BQU9DLE9BQVAsR0FBaUJkLGdCQUFqQiIsImZpbGUiOiJlbWl0dGluZy9hY3Rvcl9waXBlX2VtaXR0ZXIuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vbGliIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBQaXBlIEVtaXR0ZXIgZm9yIGFjdG9yc1xuICogQGNsYXNzIEFjdG9yUGlwZUVtaXR0ZXJcbiAqL1xuJ3VzZSBzdHJpY3QnXG5cbmNvbnN0IFBpcGVFbWl0dGVyID0gcmVxdWlyZSgnLi9waXBlX2VtaXR0ZXInKVxuY29uc3QgeyBQaXBlTGV2ZWxzIH0gPSByZXF1aXJlKCdzdWdvLWNvbnN0YW50cycpXG5jb25zdCB7IEFDVE9SX0xFVkVMIH0gPSBQaXBlTGV2ZWxzXG5cbi8qKiBAbGVuZHMgQWN0b3JQaXBlRW1pdHRlciAqL1xuY2xhc3MgQWN0b3JQaXBlRW1pdHRlciBleHRlbmRzIFBpcGVFbWl0dGVyIHtcbiAgY29uc3RydWN0b3IgKHNvY2tldCwgZGVmYXVsdHMpIHtcbiAgICBzdXBlcihzb2NrZXQpXG4gICAgY29uc3QgcGlwZUVtaXQgPSB0aGlzLnBpcGVFbWl0LmJpbmQodGhpcylcbiAgICAvKipcbiAgICAgKiBFbWl0IGV2ZW50XG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50IC0gTmFtZSBvZiBldmVudFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBkYXRhIC0gRXZlbnQgZGF0YVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0aW9ucz17fV0gLSBPcHRpb25hbCBzZXR0aW5nc1xuICAgICAqIEBwYXJhbSB7c3RyaW5nW119IFtvcHRpb25zLm9ubHldIC0gVGFyZ2V0IGNhbGxlciBrZXlzXG4gICAgICovXG4gICAgdGhpcy5lbWl0ID0gZnVuY3Rpb24gcGlwaW5nRW1pdFdSYXAgKGV2ZW50LCBkYXRhLCBvcHRpb25zID0ge30pIHtcbiAgICAgIGNvbnN0IHsgb25seSA9IG51bGwgfSA9IG9wdGlvbnNcbiAgICAgIHBpcGVFbWl0KGV2ZW50LCBkYXRhLCB7XG4gICAgICAgIG9ubHksXG4gICAgICAgIGRlZmF1bHRzOiBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0cywge1xuICAgICAgICAgIGxldmVsOiBBQ1RPUl9MRVZFTFxuICAgICAgICB9KVxuICAgICAgfSlcbiAgICB9XG4gIH1cblxuICBzaG91bGRQaXBlIChyZWNlaXZlZCkge1xuICAgIHJldHVybiAhcmVjZWl2ZWQubW9kdWxlIHx8IChyZWNlaXZlZC5sZXZlbCA9PT0gQUNUT1JfTEVWRUwpXG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBBY3RvclBpcGVFbWl0dGVyXG4iXX0=