Socket
Socket
Sign inDemoInstall

@orion-js/echoes

Package Overview
Dependencies
Maintainers
2
Versions
118
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@orion-js/echoes - npm Package Compare versions

Comparing version 1.7.2 to 2.0.0-beta.1

6

lib/config.js

@@ -6,3 +6,3 @@ "use strict";

});
exports["default"] = void 0;
exports.default = void 0;

@@ -12,3 +12,3 @@ var _helpers = require("@orion-js/helpers");

/* global Map */
var config = {
const config = {
serverId: (0, _helpers.generateId)(10),

@@ -18,2 +18,2 @@ promiseMap: new Map()

var _default = config;
exports["default"] = _default;
exports.default = _default;

@@ -6,3 +6,3 @@ "use strict";

});
exports["default"] = _default;
exports.default = _default;

@@ -9,0 +9,0 @@ function _default(serializedJavascript) {

"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = _default;
exports.default = _default;

@@ -12,79 +14,26 @@ var _deserialize = _interopRequireDefault(require("./deserialize"));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _default(options) {
return _objectSpread({}, options, {
onMessage: function () {
var _onMessage = _asyncToGenerator(
/*#__PURE__*/
regeneratorRuntime.mark(function _callee(messageData) {
var message, key, data, context, response;
return regeneratorRuntime.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
message = messageData.message;
key = message.key.toString();
return { ...options,
onMessage: async messageData => {
const {
message
} = messageData;
const key = message.key.toString();
if (key !== 'pink_floyd') return; // not made by this library
if (!(key !== 'pink_floyd')) {
_context.next = 4;
break;
}
return _context.abrupt("return");
case 4:
// not made by this library
data = (0, _deserialize["default"])(message.value.toString());
context = _objectSpread({}, messageData, {
data: data
});
_context.next = 8;
return options.resolve(data.params, context);
case 8:
response = _context.sent;
if (data.replyTo) {
_context.next = 11;
break;
}
return _context.abrupt("return");
case 11:
_context.next = 13;
return (0, _publish["default"])({
topic: data.replyTo,
params: {
requestId: data.requestId,
response: response
}
});
case 13:
case "end":
return _context.stop();
}
}
}, _callee);
}));
function onMessage(_x) {
return _onMessage.apply(this, arguments);
}
return onMessage;
}()
});
const data = (0, _deserialize.default)(message.value.toString());
const context = { ...messageData,
data
};
const response = await options.resolve(data.params, context);
if (!data.replyTo) return;
await (0, _publish.default)({
topic: data.replyTo,
params: {
requestId: data.requestId,
response
}
});
}
};
}
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {

@@ -8,4 +10,4 @@ value: true

enumerable: true,
get: function get() {
return _startService["default"];
get: function () {
return _startService.default;
}

@@ -15,4 +17,4 @@ });

enumerable: true,
get: function get() {
return _publish["default"];
get: function () {
return _publish.default;
}

@@ -22,4 +24,4 @@ });

enumerable: true,
get: function get() {
return _echo["default"];
get: function () {
return _echo.default;
}

@@ -29,4 +31,4 @@ });

enumerable: true,
get: function get() {
return _request["default"];
get: function () {
return _request.default;
}

@@ -41,4 +43,2 @@ });

var _request = _interopRequireDefault(require("./request"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _request = _interopRequireDefault(require("./request"));
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = _default;
exports.default = _default;

@@ -12,8 +14,2 @@ var _config = _interopRequireDefault(require("../config"));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
/**

@@ -26,46 +22,21 @@ * Publish

*/
function _default(_x) {
return _ref.apply(this, arguments);
}
async function _default(options) {
const payload = {
params: options.params
};
function _ref() {
_ref = _asyncToGenerator(
/*#__PURE__*/
regeneratorRuntime.mark(function _callee(options) {
var payload;
return regeneratorRuntime.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
payload = {
params: options.params
};
if (options.replyTo) {
payload.replyTo = options.replyTo;
payload.requestId = options.requestId;
}
if (options.replyTo) {
payload.replyTo = options.replyTo;
payload.requestId = options.requestId;
}
_context.next = 4;
return _config["default"].producer.send({
acks: options.acks,
timeout: options.timeout,
topic: options.topic,
messages: [{
key: 'pink_floyd',
value: (0, _serialize["default"])(payload)
}]
});
case 4:
return _context.abrupt("return", _context.sent);
case 5:
case "end":
return _context.stop();
}
}
}, _callee);
}));
return _ref.apply(this, arguments);
return await _config.default.producer.send({
acks: options.acks,
timeout: options.timeout,
topic: options.topic,
messages: [{
key: 'pink_floyd',
value: (0, _serialize.default)(payload)
}]
});
}
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = _default;
exports.default = _default;
var _serializeJavascript = _interopRequireDefault(require("serialize-javascript"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _default(data) {
var serialized = (0, _serializeJavascript["default"])(data, {
const serialized = (0, _serializeJavascript.default)(data, {
ignoreFunction: true

@@ -15,0 +15,0 @@ });

"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = _default;
exports.default = _default;

@@ -14,70 +16,32 @@ var _publish = _interopRequireDefault(require("../publish"));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
async function _default(options) {
const requestId = (0, _uniqueId.default)();
await (0, _publish.default)({ ...options,
replyTo: `reply_${_config.default.serverId}`,
requestId
});
const promiseEvents = {};
const timeout = setTimeout(() => promiseEvents.reject(new Error('Timeout')), options.timeout || 60000);
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
const clear = () => {
_config.default.promiseMap.delete(requestId);
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
clearTimeout(timeout);
};
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
const promise = new Promise((res, rej) => {
promiseEvents.resolve = (...args) => {
clear();
res(...args);
};
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
promiseEvents.reject = (...args) => {
clear();
rej(...args);
};
});
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
_config.default.promiseMap.set(requestId, promiseEvents);
function _default(_x) {
return _ref.apply(this, arguments);
}
function _ref() {
_ref = _asyncToGenerator(
/*#__PURE__*/
regeneratorRuntime.mark(function _callee(options) {
var requestId, promiseEvents, timeout, clear, promise;
return regeneratorRuntime.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
requestId = (0, _uniqueId["default"])();
_context.next = 3;
return (0, _publish["default"])(_objectSpread({}, options, {
replyTo: "reply_".concat(_config["default"].serverId),
requestId: requestId
}));
case 3:
promiseEvents = {};
timeout = setTimeout(function () {
return promiseEvents.reject(new Error('Timeout'));
}, options.timeout || 60000);
clear = function clear() {
_config["default"].promiseMap["delete"](requestId);
clearTimeout(timeout);
};
promise = new Promise(function (res, rej) {
promiseEvents.resolve = function () {
clear();
res.apply(void 0, arguments);
};
promiseEvents.reject = function () {
clear();
rej.apply(void 0, arguments);
};
});
_config["default"].promiseMap.set(requestId, promiseEvents);
return _context.abrupt("return", promise);
case 9:
case "end":
return _context.stop();
}
}
}, _callee);
}));
return _ref.apply(this, arguments);
return promise;
}
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
exports.default = void 0;

@@ -12,46 +14,12 @@ var _echo = _interopRequireDefault(require("../echo"));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var _default = (0, _echo.default)({
async resolve(params) {
const promiseEvents = _config.default.promiseMap.get(params.requestId);
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
if (!promiseEvents) return;
promiseEvents.resolve(params.response);
}
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
var _default = (0, _echo["default"])({
resolve: function () {
var _resolve = _asyncToGenerator(
/*#__PURE__*/
regeneratorRuntime.mark(function _callee(params) {
var promiseEvents;
return regeneratorRuntime.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
promiseEvents = _config["default"].promiseMap.get(params.requestId);
if (promiseEvents) {
_context.next = 3;
break;
}
return _context.abrupt("return");
case 3:
promiseEvents.resolve(params.response);
case 4:
case "end":
return _context.stop();
}
}
}, _callee);
}));
function resolve(_x) {
return _resolve.apply(this, arguments);
}
return resolve;
}()
});
exports["default"] = _default;
exports.default = _default;
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = _default;
exports.default = _default;

@@ -14,101 +16,24 @@ var _kafkajs = require("kafkajs");

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
async function _default(options) {
const kafka = new _kafkajs.Kafka(options.client);
_config.default.producer = kafka.producer(options.producer);
_config.default.consumer = kafka.consumer(options.consumer);
await _config.default.producer.connect();
await _config.default.consumer.connect();
const replyTo = `reply_${_config.default.serverId}`;
options.echoes[replyTo] = _replyEcho.default;
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
for (const topic in options.echoes) {
await _config.default.consumer.subscribe({
topic
});
}
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
function _default(_x) {
return _ref.apply(this, arguments);
}
function _ref() {
_ref = _asyncToGenerator(
/*#__PURE__*/
regeneratorRuntime.mark(function _callee2(options) {
var kafka, replyTo, topic;
return regeneratorRuntime.wrap(function _callee2$(_context2) {
while (1) {
switch (_context2.prev = _context2.next) {
case 0:
kafka = new _kafkajs.Kafka(options.client);
_config["default"].producer = kafka.producer(options.producer);
_config["default"].consumer = kafka.consumer(options.consumer);
_context2.next = 5;
return _config["default"].producer.connect();
case 5:
_context2.next = 7;
return _config["default"].consumer.connect();
case 7:
replyTo = "reply_".concat(_config["default"].serverId);
options.echoes[replyTo] = _replyEcho["default"];
_context2.t0 = regeneratorRuntime.keys(options.echoes);
case 10:
if ((_context2.t1 = _context2.t0()).done) {
_context2.next = 16;
break;
}
topic = _context2.t1.value;
_context2.next = 14;
return _config["default"].consumer.subscribe({
topic: topic
});
case 14:
_context2.next = 10;
break;
case 16:
_context2.next = 18;
return _config["default"].consumer.run({
eachMessage: function () {
var _eachMessage = _asyncToGenerator(
/*#__PURE__*/
regeneratorRuntime.mark(function _callee(params) {
var echo;
return regeneratorRuntime.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
echo = options.echoes[params.topic];
if (echo) {
_context.next = 3;
break;
}
return _context.abrupt("return");
case 3:
_context.next = 5;
return echo.onMessage(params);
case 5:
case "end":
return _context.stop();
}
}
}, _callee);
}));
function eachMessage(_x2) {
return _eachMessage.apply(this, arguments);
}
return eachMessage;
}()
});
case 18:
case "end":
return _context2.stop();
}
}
}, _callee2);
}));
return _ref.apply(this, arguments);
await _config.default.consumer.run({
eachMessage: async params => {
const echo = options.echoes[params.topic];
if (!echo) return;
await echo.onMessage(params);
}
});
}
{
"name": "@orion-js/echoes",
"version": "1.7.2",
"main": "index.js",
"version": "2.0.0-beta.1",
"main": "lib/index.js",
"author": "nicolaslopezj",

@@ -15,3 +15,3 @@ "license": "MIT",

"dependencies": {
"@orion-js/helpers": "^1.7.2",
"@orion-js/helpers": "^2.0.0-beta.1",
"kafkajs": "^1.15.0",

@@ -30,3 +30,3 @@ "serialize-javascript": "^5.0.1"

},
"gitHead": "932840475c9e2dca4b85d00ec407123e1ea5cea2"
"gitHead": "ed5e4548b806d96b9c2f7c20eed98d6558ca6500"
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc