corebasic 1.0.86 → 1.0.87

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.
Files changed (2) hide show
  1. package/libs/messaging.js +27 -1
  2. package/package.json +1 -1
package/libs/messaging.js CHANGED
@@ -3,6 +3,8 @@ import axios from 'axios'
3
3
  import { createClient } from 'redis';
4
4
  import * as Utils from './utils.js'
5
5
 
6
+ const url = process.env.REDIS_URL || "redis://localhost:6380"
7
+
6
8
  // url: 'redis://alice:foobared@localhost:6380'
7
9
  let consumer, publisher
8
10
 
@@ -49,7 +51,6 @@ async function connect({user,req,res, uid}) {
49
51
  }
50
52
 
51
53
  export async function start(app) {
52
- const url = process.env.REDIS_URL || "redis://localhost:6380"
53
54
  consumer = createClient({ url });
54
55
  await consumer.connect();
55
56
  publisher = createClient({ url });
@@ -78,6 +79,31 @@ export async function publish(channel, message) {
78
79
  }
79
80
 
80
81
 
82
+ // Generic Functions
83
+ // -----------------
84
+
85
+ export async function newConsumer() {
86
+ let consumer = createClient({ url })
87
+ await consumer.connect()
88
+ return consumer
89
+ }
90
+
91
+ export async function newProducer() {
92
+ let publisher = createClient({ url })
93
+ await publisher.connect()
94
+ return publisher
95
+ }
96
+
97
+ export async function subscribe(channel, listener) {
98
+ let consumer = await newConsumer()
99
+ await consumer.subscribe(channel, listener)
100
+ }
101
+
102
+
103
+ export async function produce(channel, message) {
104
+ let producer = await newProducer()
105
+ await producer.publish(channel, message)
106
+ }
81
107
 
82
108
 
83
109
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "corebasic",
3
3
  "type": "module",
4
- "version": "1.0.86",
4
+ "version": "1.0.87",
5
5
  "description": "",
6
6
  "main": "index.js",
7
7
  "scripts": {