@orion-js/echoes 2.2.7 → 3.0.0-alpha.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3 @@
1
+ import { EchoesConfigHandler } from './types';
2
+ declare const config: EchoesConfigHandler;
3
+ export default config;
package/lib/config.js CHANGED
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- /* global Map */
9
- const config = {
10
- promiseMap: new Map()
11
- };
12
- var _default = config;
13
- exports.default = _default;
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const config = {};
4
+ exports.default = config;
@@ -0,0 +1 @@
1
+ export default function (serializedJavascript: string): any;
@@ -1,14 +1,11 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = _default;
7
-
8
- function _default(serializedJavascript) {
9
- try {
10
- return eval('(' + serializedJavascript + ')');
11
- } catch (error) {
12
- throw new Error('Error deserializing echo message');
13
- }
14
- }
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ function default_1(serializedJavascript) {
4
+ try {
5
+ return eval('(' + serializedJavascript + ')');
6
+ }
7
+ catch (error) {
8
+ throw new Error('Error deserializing echo message');
9
+ }
10
+ }
11
+ exports.default = default_1;
@@ -0,0 +1,9 @@
1
+ import { Echo, EchoConfig } from '../types';
2
+ declare const echo: {
3
+ (options: EchoConfig): Echo;
4
+ types: {
5
+ event: string;
6
+ request: string;
7
+ };
8
+ };
9
+ export default echo;
package/lib/echo/index.js CHANGED
@@ -1,40 +1,32 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
-
10
- var _deserialize = _interopRequireDefault(require("./deserialize"));
11
-
12
- var _types = _interopRequireDefault(require("./types"));
13
-
14
- const echo = function (options) {
15
- return { ...options,
16
- onMessage: async messageData => {
17
- const {
18
- message
19
- } = messageData;
20
- const key = message.key.toString();
21
- if (key !== 'pink_floyd') return; // not made by this library
22
-
23
- const data = (0, _deserialize.default)(message.value.toString());
24
- const context = { ...messageData,
25
- data
26
- };
27
- await options.resolve(data.params || {}, context);
28
- },
29
- onRequest: async serializedParams => {
30
- const context = {};
31
- const params = (0, _deserialize.default)(serializedParams);
32
- const result = await options.resolve(params || {}, context);
33
- return result;
34
- }
35
- };
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
4
  };
37
-
38
- echo.types = _types.default;
39
- var _default = echo;
40
- exports.default = _default;
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const deserialize_1 = __importDefault(require("./deserialize"));
7
+ const types_1 = __importDefault(require("./types"));
8
+ const echo = function createNewEcho(options) {
9
+ return {
10
+ ...options,
11
+ onMessage: async (messageData) => {
12
+ const { message } = messageData;
13
+ const key = message.key.toString();
14
+ if (key !== 'pink_floyd')
15
+ return; // not made by this library
16
+ const data = (0, deserialize_1.default)(message.value.toString());
17
+ const context = {
18
+ ...messageData,
19
+ data
20
+ };
21
+ await options.resolve(data.params || {}, context);
22
+ },
23
+ onRequest: async (serializedParams) => {
24
+ const context = {};
25
+ const params = (0, deserialize_1.default)(serializedParams);
26
+ const result = await options.resolve(params || {}, context);
27
+ return result;
28
+ }
29
+ };
30
+ };
31
+ echo.types = types_1.default;
32
+ exports.default = echo;
@@ -0,0 +1,5 @@
1
+ declare const _default: {
2
+ event: string;
3
+ request: string;
4
+ };
5
+ export default _default;
package/lib/echo/types.js CHANGED
@@ -1,11 +1,6 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _default = {
8
- event: 'event',
9
- request: 'request'
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = {
4
+ event: 'event',
5
+ request: 'request'
10
6
  };
11
- exports.default = _default;
package/lib/index.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ import startService from './startService';
2
+ import publish from './publish';
3
+ import echo from './echo';
4
+ import request from './request';
5
+ export { publish, startService, echo, request };
package/lib/index.js CHANGED
@@ -1,39 +1,14 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- Object.defineProperty(exports, "startService", {
9
- enumerable: true,
10
- get: function () {
11
- return _startService.default;
12
- }
13
- });
14
- Object.defineProperty(exports, "publish", {
15
- enumerable: true,
16
- get: function () {
17
- return _publish.default;
18
- }
19
- });
20
- Object.defineProperty(exports, "echo", {
21
- enumerable: true,
22
- get: function () {
23
- return _echo.default;
24
- }
25
- });
26
- Object.defineProperty(exports, "request", {
27
- enumerable: true,
28
- get: function () {
29
- return _request.default;
30
- }
31
- });
32
-
33
- var _startService = _interopRequireDefault(require("./startService"));
34
-
35
- var _publish = _interopRequireDefault(require("./publish"));
36
-
37
- var _echo = _interopRequireDefault(require("./echo"));
38
-
39
- var _request = _interopRequireDefault(require("./request"));
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.request = exports.echo = exports.startService = exports.publish = void 0;
7
+ const startService_1 = __importDefault(require("./startService"));
8
+ exports.startService = startService_1.default;
9
+ const publish_1 = __importDefault(require("./publish"));
10
+ exports.publish = publish_1.default;
11
+ const echo_1 = __importDefault(require("./echo"));
12
+ exports.echo = echo_1.default;
13
+ const request_1 = __importDefault(require("./request"));
14
+ exports.request = request_1.default;
@@ -0,0 +1,5 @@
1
+ import { PublishOptions } from '../types';
2
+ /**
3
+ * Publish
4
+ */
5
+ export default function (options: PublishOptions): Promise<import("kafkajs").RecordMetadata[]>;
@@ -1,36 +1,30 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = _default;
9
-
10
- var _config = _interopRequireDefault(require("../config"));
11
-
12
- var _serialize = _interopRequireDefault(require("./serialize"));
13
-
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const config_1 = __importDefault(require("../config"));
7
+ const serialize_1 = __importDefault(require("./serialize"));
14
8
  /**
15
9
  * Publish
16
- * @param {ID} topic
17
- * @param {Object} params
18
10
  */
19
- async function _default(options) {
20
- if (!_config.default.producer) {
21
- throw new Error('You must initialize echoes configruation to use publish');
22
- }
23
-
24
- const payload = {
25
- params: options.params
26
- };
27
- return await _config.default.producer.send({
28
- acks: options.acks,
29
- timeout: options.timeout,
30
- topic: options.topic,
31
- messages: [{
32
- key: 'pink_floyd',
33
- value: (0, _serialize.default)(payload)
34
- }]
35
- });
36
- }
11
+ async function default_1(options) {
12
+ if (!config_1.default.producer) {
13
+ throw new Error('You must initialize echoes configruation to use publish');
14
+ }
15
+ const payload = {
16
+ params: options.params
17
+ };
18
+ return await config_1.default.producer.send({
19
+ acks: options.acks,
20
+ timeout: options.timeout,
21
+ topic: options.topic,
22
+ messages: [
23
+ {
24
+ key: 'pink_floyd',
25
+ value: (0, serialize_1.default)(payload)
26
+ }
27
+ ]
28
+ });
29
+ }
30
+ exports.default = default_1;
@@ -0,0 +1 @@
1
+ export default function (data: any): string;
@@ -1,20 +1,13 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = _default;
9
-
10
- var _serializeJavascript = _interopRequireDefault(require("serialize-javascript"));
11
-
12
- var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
13
-
14
- function _default(data) {
15
- const cloned = (0, _cloneDeep.default)(data);
16
- const serialized = (0, _serializeJavascript.default)(cloned, {
17
- ignoreFunction: true
18
- });
19
- return serialized;
20
- }
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const serialize_javascript_1 = __importDefault(require("serialize-javascript"));
7
+ const cloneDeep_1 = __importDefault(require("lodash/cloneDeep"));
8
+ function default_1(data) {
9
+ const cloned = (0, cloneDeep_1.default)(data);
10
+ const serialized = (0, serialize_javascript_1.default)(cloned, { ignoreFunction: true });
11
+ return serialized;
12
+ }
13
+ exports.default = default_1;
@@ -0,0 +1 @@
1
+ export default function (body: any): string;
@@ -1,20 +1,18 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = _default;
9
-
10
- var _config = _interopRequireDefault(require("../config"));
11
-
12
- var _jssha = _interopRequireDefault(require("jssha"));
13
-
14
- function _default(body) {
15
- const secret = _config.default.requests.key;
16
- const shaObj = new _jssha.default('SHA-1', 'TEXT');
17
- shaObj.setHMACKey(secret, 'TEXT');
18
- shaObj.update(body);
19
- return shaObj.getHMAC('HEX');
20
- }
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const config_1 = __importDefault(require("../config"));
7
+ const jssha_1 = __importDefault(require("jssha"));
8
+ function default_1(body) {
9
+ const secret = config_1.default.requests.key || '';
10
+ if (!secret) {
11
+ console.warn('Warning: no secret key found for echoes requests');
12
+ }
13
+ const shaObj = new jssha_1.default('SHA-1', 'TEXT');
14
+ shaObj.setHMACKey(secret, 'TEXT');
15
+ shaObj.update(body);
16
+ return shaObj.getHMAC('HEX');
17
+ }
18
+ exports.default = default_1;
@@ -0,0 +1 @@
1
+ export default function (serviceName: string): string;
@@ -1,20 +1,14 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = _default;
9
-
10
- var _config = _interopRequireDefault(require("../config"));
11
-
12
- function _default(serviceName) {
13
- const url = _config.default.requests.services[serviceName];
14
-
15
- if (!url) {
16
- throw new Error(`No URL found in echoes config for service ${serviceName}`);
17
- }
18
-
19
- return url;
20
- }
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const config_1 = __importDefault(require("../config"));
7
+ function default_1(serviceName) {
8
+ const url = config_1.default.requests.services[serviceName];
9
+ if (!url) {
10
+ throw new Error(`No URL found in echoes config for service ${serviceName}`);
11
+ }
12
+ return url;
13
+ }
14
+ exports.default = default_1;
@@ -0,0 +1,2 @@
1
+ import { RequestOptions } from '../types';
2
+ export default function (options: RequestOptions): Promise<any>;
@@ -1,61 +1,43 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = _default;
9
-
10
- var _axios = _interopRequireDefault(require("axios"));
11
-
12
- var _getURL = _interopRequireDefault(require("./getURL"));
13
-
14
- var _getSignature = _interopRequireDefault(require("./getSignature"));
15
-
16
- var _serialize = _interopRequireDefault(require("../publish/serialize"));
17
-
18
- var _deserialize = _interopRequireDefault(require("../echo/deserialize"));
19
-
20
- async function _default({
21
- method,
22
- service,
23
- params
24
- }) {
25
- const serializedParams = (0, _serialize.default)(params);
26
- const date = new Date();
27
- const body = {
28
- method,
29
- service,
30
- serializedParams,
31
- date
32
- };
33
- const signature = (0, _getSignature.default)(body);
34
-
35
- try {
36
- const result = await (0, _axios.default)({
37
- method: 'post',
38
- url: (0, _getURL.default)(service),
39
- headers: {
40
- 'User-Agent': 'Orionjs-Echoes/1.1'
41
- },
42
- data: {
43
- body,
44
- signature
45
- }
46
- });
47
-
48
- if (result.status !== 200) {
49
- throw new Error(`Echoes request network error ${result.status}`);
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const axios_1 = __importDefault(require("axios"));
7
+ const getURL_1 = __importDefault(require("./getURL"));
8
+ const getSignature_1 = __importDefault(require("./getSignature"));
9
+ const serialize_1 = __importDefault(require("../publish/serialize"));
10
+ const deserialize_1 = __importDefault(require("../echo/deserialize"));
11
+ async function default_1(options) {
12
+ const { method, service, params } = options;
13
+ const serializedParams = (0, serialize_1.default)(params);
14
+ const date = new Date();
15
+ const body = { method, service, serializedParams, date };
16
+ const signature = (0, getSignature_1.default)(body);
17
+ try {
18
+ const result = await (0, axios_1.default)({
19
+ method: 'post',
20
+ url: (0, getURL_1.default)(service),
21
+ headers: {
22
+ 'User-Agent': 'Orionjs-Echoes/1.1'
23
+ },
24
+ data: {
25
+ body,
26
+ signature
27
+ }
28
+ });
29
+ if (result.status !== 200) {
30
+ throw new Error(`Echoes request network error ${result.status}`);
31
+ }
32
+ const data = result.data;
33
+ if (data.error) {
34
+ throw new Error(`Echoes request error: ${data.error}`);
35
+ }
36
+ const response = (0, deserialize_1.default)(data.result);
37
+ return response;
50
38
  }
51
-
52
- if (result.data.error) {
53
- throw new Error(`Echoes request error: ${result.data.error}`);
39
+ catch (error) {
40
+ throw new Error(`Echoes request network error ${error.message}`);
54
41
  }
55
-
56
- const response = (0, _deserialize.default)(result.data.result);
57
- return response;
58
- } catch (error) {
59
- throw new Error(`Echoes request network error ${error.message}`);
60
- }
61
- }
42
+ }
43
+ exports.default = default_1;
@@ -0,0 +1 @@
1
+ export default function (body: any, signature: string): void;
@@ -1,18 +1,13 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = _default;
9
-
10
- var _getSignature = _interopRequireDefault(require("../request/getSignature"));
11
-
12
- function _default(body, signature) {
13
- const generatedSignature = (0, _getSignature.default)(body);
14
-
15
- if (generatedSignature !== signature) {
16
- throw new Error('Echoes invalid signature');
17
- }
18
- }
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const getSignature_1 = __importDefault(require("../request/getSignature"));
7
+ function default_1(body, signature) {
8
+ const generatedSignature = (0, getSignature_1.default)(body);
9
+ if (generatedSignature !== signature) {
10
+ throw new Error('Echoes invalid signature');
11
+ }
12
+ }
13
+ exports.default = default_1;
@@ -0,0 +1 @@
1
+ export default function (method: string): import("../types").Echo;
@@ -1,26 +1,18 @@
1
1
  "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = _default;
9
-
10
- var _config = _interopRequireDefault(require("../config"));
11
-
12
- var _types = _interopRequireDefault(require("../echo/types"));
13
-
14
- function _default(method) {
15
- const echo = _config.default.echoes[method];
16
-
17
- if (!echo) {
18
- throw new Error(`Echo named ${method} not found in this service`);
19
- }
20
-
21
- if (echo.type !== _types.default.request) {
22
- throw new Error(`Echo named ${method} is not of type request`);
23
- }
24
-
25
- return echo;
26
- }
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const config_1 = __importDefault(require("../config"));
7
+ const types_1 = __importDefault(require("../echo/types"));
8
+ function default_1(method) {
9
+ const echo = config_1.default.echoes[method];
10
+ if (!echo) {
11
+ throw new Error(`Echo named ${method} not found in this service`);
12
+ }
13
+ if (echo.type !== types_1.default.request) {
14
+ throw new Error(`Echo named ${method} is not of type request`);
15
+ }
16
+ return echo;
17
+ }
18
+ exports.default = default_1;
@@ -0,0 +1,2 @@
1
+ import { RequestHandlerResponse, RequestsHandlerParams } from '../types';
2
+ export default function ({ getBodyJSON }: RequestsHandlerParams): Promise<RequestHandlerResponse>;