woonplan-packages-redishelper 1.0.60 → 1.0.64

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.
package/dist/getters.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Redis } from "ioredis";
2
- import { RedisConfig } from "./types";
3
- declare const getOrRequestKey: (config: RedisConfig, key: string, service: string) => Promise<unknown>;
2
+ import { RedisConfig, Struct } from "./types";
3
+ declare const getOrRequestData: (config: RedisConfig, request: string, service: string, data?: Struct) => Promise<unknown>;
4
4
  declare const subscribeToMessageResponse: (client: Redis, messageid: string) => Promise<number>;
5
5
  declare const requestAndWaitForList: (client: Redis, service: string, listname: string, listsubject: string, props: {} | undefined, {}: {}) => Promise<unknown>;
6
- export { getOrRequestKey, requestAndWaitForList, subscribeToMessageResponse };
6
+ export { getOrRequestData, requestAndWaitForList, subscribeToMessageResponse };
package/dist/getters.js CHANGED
@@ -1,63 +1,62 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.subscribeToMessageResponse = exports.requestAndWaitForList = exports.getOrRequestKey = void 0;
3
+ exports.subscribeToMessageResponse = exports.requestAndWaitForList = exports.getOrRequestData = void 0;
4
4
  var utils_1 = require("./utils");
5
5
  var memdb_1 = require("./memdb");
6
6
  var uuid_1 = require("uuid");
7
7
  var timeout = 250;
8
- var getOrRequestKey = function (config, key, service) { return new Promise(function (resolve, reject) {
9
- var getterclient = (0, memdb_1.getRedisClient)(config);
10
- getterclient.get(key)
11
- .then(function (result) {
12
- if (result)
13
- resolve(result);
14
- if (!result) {
15
- return requestAndWaitForKey(getterclient, config, key, service);
16
- }
17
- })
18
- .then(function (result) { return resolve(result); })
19
- .catch(function (error) {
20
- console.log(error);
21
- resolve(null);
22
- });
23
- }); };
24
- exports.getOrRequestKey = getOrRequestKey;
25
- var requestAndWaitForKey = function (getterclient, config, key, service) { return new Promise(function (resolve) {
26
- var messageid = (0, uuid_1.v4)();
27
- // create a listener
28
- var listenerclient = (0, memdb_1.getRedisClient)(config);
29
- subscribeToMessageResponse(listenerclient, messageid).
30
- then(function () {
31
- console.log("subscribed to ".concat(messageid, " at ").concat(new Date().toISOString()));
32
- // we are subscribed
33
- // setting up a one time event listener
34
- listenerclient.once("message", function (channel, message) {
35
- if (message.length)
36
- resolve(message);
37
- else
38
- resolve(null);
39
- console.log("unsubscribing from ".concat(channel));
40
- listenerclient.unsubscribe();
41
- listenerclient.disconnect();
8
+ var getOrRequestData = function (config, request, service, data) {
9
+ if (data === void 0) { data = {}; }
10
+ return new Promise(function (resolve, reject) {
11
+ var getterclient = (0, memdb_1.getRedisClient)(config);
12
+ requestAndWaitForData(getterclient, config, request, service, data)
13
+ .then(function (result) { return resolve(result); })
14
+ .catch(function (error) {
15
+ console.log(error);
16
+ resolve(null);
42
17
  });
43
- // setup timeout
44
- setTimeout(function () {
45
- if (listenerclient.status != "end") {
46
- console.log("sub timedout");
18
+ });
19
+ };
20
+ exports.getOrRequestData = getOrRequestData;
21
+ var requestAndWaitForData = function (getterclient, config, request, service, data) {
22
+ if (data === void 0) { data = {}; }
23
+ return new Promise(function (resolve) {
24
+ var messageid = (0, uuid_1.v4)();
25
+ // create a listener
26
+ var listenerclient = (0, memdb_1.getRedisClient)(config);
27
+ subscribeToMessageResponse(listenerclient, messageid).
28
+ then(function () {
29
+ console.log("subscribed to ".concat(messageid, " at ").concat(new Date().toISOString()));
30
+ // we are subscribed
31
+ // send out the request
32
+ getterclient.xadd((0, utils_1.getKeyRequestedChannelName)(service), '*', 'request', request, 'messageid', messageid, 'data', JSON.stringify(data))
33
+ .catch(function (e) {
34
+ console.log(e);
47
35
  resolve(null);
36
+ })
37
+ .finally(function () { return getterclient.disconnect(); });
38
+ // setting up a one time event listener
39
+ listenerclient.once("message", function (channel, message) {
40
+ if (message.length)
41
+ resolve(message);
42
+ else
43
+ resolve(null);
44
+ console.log("unsubscribing from ".concat(channel));
48
45
  listenerclient.unsubscribe();
49
46
  listenerclient.disconnect();
50
- }
51
- }, timeout);
47
+ });
48
+ // setup timeout
49
+ setTimeout(function () {
50
+ if (listenerclient.status != "end") {
51
+ console.log("sub timedout");
52
+ resolve(null);
53
+ listenerclient.unsubscribe();
54
+ listenerclient.disconnect();
55
+ }
56
+ }, timeout);
57
+ });
52
58
  });
53
- // send out the request
54
- getterclient.xadd((0, utils_1.getKeyRequestedChannelName)(service), '*', 'key', key, 'messageid', messageid)
55
- .catch(function (e) {
56
- console.log(e);
57
- resolve(null);
58
- })
59
- .finally(function () { return getterclient.disconnect(); });
60
- }); };
59
+ };
61
60
  var subscribeToMessageResponse = function (client, messageid) { return client.subscribe((0, utils_1.getMessageReponseKey)(messageid)); };
62
61
  exports.subscribeToMessageResponse = subscribeToMessageResponse;
63
62
  var requestAndWaitForList = function (client, service, listname, listsubject, props, _a) {
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { Redis } from "ioredis";
2
2
  import { RedisConfig, RedisMessage } from "./types";
3
3
  import { sendMessageToStream, publishMessageResponse } from "./setters";
4
- import { getOrRequestKey, subscribeToMessageResponse, requestAndWaitForList } from "./getters";
4
+ import { getOrRequestData, subscribeToMessageResponse, requestAndWaitForList } from "./getters";
5
5
  declare const listenToStream: (client: Redis, groupname: string, channelname: string, consumername: string, callback: Function) => Promise<boolean>;
6
6
  declare const dataRequester: (config: RedisConfig, groupname: string, service: string, consumername: string, callback: Function) => void;
7
- export { listenToStream, RedisMessage, sendMessageToStream, publishMessageResponse, getOrRequestKey, dataRequester, subscribeToMessageResponse, requestAndWaitForList };
7
+ export { listenToStream, RedisMessage, sendMessageToStream, publishMessageResponse, getOrRequestData, dataRequester, subscribeToMessageResponse, requestAndWaitForList };
package/dist/index.js CHANGED
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.requestAndWaitForList = exports.subscribeToMessageResponse = exports.dataRequester = exports.getOrRequestKey = exports.publishMessageResponse = exports.sendMessageToStream = exports.listenToStream = void 0;
3
+ exports.requestAndWaitForList = exports.subscribeToMessageResponse = exports.dataRequester = exports.getOrRequestData = exports.publishMessageResponse = exports.sendMessageToStream = exports.listenToStream = void 0;
4
4
  var setters_1 = require("./setters");
5
5
  Object.defineProperty(exports, "sendMessageToStream", { enumerable: true, get: function () { return setters_1.sendMessageToStream; } });
6
6
  Object.defineProperty(exports, "publishMessageResponse", { enumerable: true, get: function () { return setters_1.publishMessageResponse; } });
7
7
  var getters_1 = require("./getters");
8
- Object.defineProperty(exports, "getOrRequestKey", { enumerable: true, get: function () { return getters_1.getOrRequestKey; } });
8
+ Object.defineProperty(exports, "getOrRequestData", { enumerable: true, get: function () { return getters_1.getOrRequestData; } });
9
9
  Object.defineProperty(exports, "subscribeToMessageResponse", { enumerable: true, get: function () { return getters_1.subscribeToMessageResponse; } });
10
10
  Object.defineProperty(exports, "requestAndWaitForList", { enumerable: true, get: function () { return getters_1.requestAndWaitForList; } });
11
11
  var memdb_1 = require("./memdb");
package/getters.ts CHANGED
@@ -1,22 +1,15 @@
1
1
  import { Redis } from "ioredis"
2
2
  import { getMessageReponseKey, getKeyRequestedChannelName, getListRequestedChannelName } from "./utils"
3
- import { RedisConfig } from "./types"
3
+ import { RedisConfig, Struct } from "./types"
4
4
  import { getRedisClient } from "./memdb"
5
5
  import { v4 as uuidv4 } from 'uuid';
6
6
 
7
7
  const timeout = 250;
8
8
 
9
- const getOrRequestKey = ( config:RedisConfig, key:string, service:string ) => new Promise((resolve, reject) => {
9
+ const getOrRequestData = ( config:RedisConfig, request:string, service:string, data:Struct={} ) => new Promise((resolve, reject) => {
10
10
  const getterclient = getRedisClient( config )
11
- getterclient.get( key )
12
- .then(
13
- ( result ) => {
14
- if( result ) resolve( result );
15
- if( !result ){
16
- return requestAndWaitForKey( getterclient, config, key, service )
17
- }
18
- }
19
- )
11
+
12
+ requestAndWaitForData( getterclient, config, request, service, data )
20
13
  .then(
21
14
  (result) => resolve( result )
22
15
  )
@@ -29,11 +22,12 @@ const getOrRequestKey = ( config:RedisConfig, key:string, service:string ) => ne
29
22
  })
30
23
 
31
24
 
32
- const requestAndWaitForKey = (
25
+ const requestAndWaitForData = (
33
26
  getterclient:Redis,
34
27
  config:RedisConfig,
35
- key:string,
28
+ request:string,
36
29
  service:string,
30
+ data:Struct={}
37
31
  ) => new Promise((resolve) => {
38
32
  const messageid = uuidv4()
39
33
 
@@ -44,8 +38,21 @@ const requestAndWaitForKey = (
44
38
  () => {
45
39
  console.log( `subscribed to ${messageid} at ${new Date().toISOString()}` )
46
40
  // we are subscribed
41
+ // send out the request
42
+ getterclient.xadd( getKeyRequestedChannelName( service ), '*', 'request', request, 'messageid', messageid, 'data', JSON.stringify( data ) )
43
+ .catch(
44
+ (e) => {
45
+ console.log( e )
46
+ resolve( null )
47
+ }
48
+ )
49
+ .finally(
50
+ () => getterclient.disconnect()
51
+ )
52
+
47
53
  // setting up a one time event listener
48
54
  listenerclient.once( "message", ( channel, message ) => {
55
+
49
56
  if( message.length ) resolve( message );
50
57
  else resolve( null )
51
58
 
@@ -67,17 +74,6 @@ const requestAndWaitForKey = (
67
74
  }
68
75
  )
69
76
 
70
- // send out the request
71
- getterclient.xadd( getKeyRequestedChannelName( service ), '*', 'key', key, 'messageid', messageid )
72
- .catch(
73
- (e) => {
74
- console.log( e )
75
- resolve( null )
76
- }
77
- )
78
- .finally(
79
- () => getterclient.disconnect()
80
- )
81
77
  })
82
78
 
83
79
  const subscribeToMessageResponse = ( client:Redis, messageid:string ) => client.subscribe( getMessageReponseKey( messageid ) )
@@ -102,4 +98,4 @@ const requestAndWaitForList = (
102
98
 
103
99
 
104
100
 
105
- export { getOrRequestKey, requestAndWaitForList, subscribeToMessageResponse }
101
+ export { getOrRequestData, requestAndWaitForList, subscribeToMessageResponse }
package/index.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { Redis } from "ioredis"
2
2
  import { RedisConfig, RedisMessage, Struct } from "./types"
3
3
  import { sendMessageToStream, publishMessageResponse } from "./setters"
4
- import { getOrRequestKey, subscribeToMessageResponse, requestAndWaitForList } from "./getters"
4
+ import { getOrRequestData, subscribeToMessageResponse, requestAndWaitForList } from "./getters"
5
5
  import { getRedisClient } from "./memdb"
6
6
  import { getKeyRequestedChannelName } from "./utils"
7
7
 
@@ -156,4 +156,4 @@ const listenForMessage = ( client:Redis, groupname:string, channelname:string, c
156
156
  })
157
157
  }
158
158
 
159
- export { listenToStream, RedisMessage, sendMessageToStream, publishMessageResponse, getOrRequestKey, dataRequester, subscribeToMessageResponse, requestAndWaitForList }
159
+ export { listenToStream, RedisMessage, sendMessageToStream, publishMessageResponse, getOrRequestData, dataRequester, subscribeToMessageResponse, requestAndWaitForList }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "woonplan-packages-redishelper",
3
- "version": "1.0.60",
3
+ "version": "1.0.64",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",