@sera4/essentia 1.1.66-rc.1 → 3.0.6
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/README.md +352 -8
- package/dist/ts/index.d.ts +1 -2
- package/dist/ts/index.js +1 -3
- package/dist/ts/index.js.map +1 -1
- package/dist/ts/logger/s4-logger.js +0 -2
- package/dist/ts/logger/s4-logger.js.map +1 -1
- package/dist/ts/queue/index.d.ts +2 -38
- package/dist/ts/queue/index.js +67 -136
- package/dist/ts/queue/index.js.map +1 -1
- package/package.json +51 -12
- package/package.tar.gz +0 -0
- package/cache/index.js +0 -188
- package/constants/index.js +0 -9
- package/coverage/base.css +0 -224
- package/coverage/block-navigation.js +0 -87
- package/coverage/configurations/index.html +0 -116
- package/coverage/configurations/server-config.ts.html +0 -94
- package/coverage/dns/DnsCache.ts.html +0 -598
- package/coverage/dns/index.html +0 -131
- package/coverage/dns/index.ts.html +0 -94
- package/coverage/favicon.png +0 -0
- package/coverage/health/index.html +0 -116
- package/coverage/health/index.ts.html +0 -778
- package/coverage/index.html +0 -161
- package/coverage/lcov-report/base.css +0 -224
- package/coverage/lcov-report/block-navigation.js +0 -87
- package/coverage/lcov-report/configurations/index.html +0 -116
- package/coverage/lcov-report/configurations/server-config.ts.html +0 -94
- package/coverage/lcov-report/dns/DnsCache.ts.html +0 -598
- package/coverage/lcov-report/dns/index.html +0 -131
- package/coverage/lcov-report/dns/index.ts.html +0 -94
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/health/index.html +0 -116
- package/coverage/lcov-report/health/index.ts.html +0 -778
- package/coverage/lcov-report/index.html +0 -161
- package/coverage/lcov-report/logger/index.html +0 -131
- package/coverage/lcov-report/logger/index.ts.html +0 -94
- package/coverage/lcov-report/logger/s4-logger.ts.html +0 -514
- package/coverage/lcov-report/prettify.css +0 -1
- package/coverage/lcov-report/prettify.js +0 -2
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +0 -196
- package/coverage/lcov.info +0 -747
- package/coverage/logger/index.html +0 -131
- package/coverage/logger/index.ts.html +0 -94
- package/coverage/logger/s4-logger.ts.html +0 -514
- package/coverage/prettify.css +0 -1
- package/coverage/prettify.js +0 -2
- package/coverage/sort-arrow-sprite.png +0 -0
- package/coverage/sorter.js +0 -196
- package/coverage/tmp/coverage-24302-1746472691313-0.json +0 -1
- package/coverage/tmp/coverage-24302-1746472691366-1.json +0 -1
- package/dist/cache/index.d.ts +0 -22
- package/dist/cache/index.js +0 -166
- package/dist/cache/index.js.map +0 -1
- package/dist/constants/index.d.ts +0 -6
- package/dist/constants/index.js +0 -9
- package/dist/constants/index.js.map +0 -1
- package/dist/coverage/block-navigation.d.ts +0 -1
- package/dist/coverage/block-navigation.js +0 -70
- package/dist/coverage/block-navigation.js.map +0 -1
- package/dist/coverage/lcov-report/block-navigation.d.ts +0 -1
- package/dist/coverage/lcov-report/block-navigation.js +0 -70
- package/dist/coverage/lcov-report/block-navigation.js.map +0 -1
- package/dist/coverage/lcov-report/prettify.d.ts +0 -0
- package/dist/coverage/lcov-report/prettify.js +0 -477
- package/dist/coverage/lcov-report/prettify.js.map +0 -1
- package/dist/coverage/lcov-report/sorter.d.ts +0 -1
- package/dist/coverage/lcov-report/sorter.js +0 -163
- package/dist/coverage/lcov-report/sorter.js.map +0 -1
- package/dist/coverage/prettify.d.ts +0 -0
- package/dist/coverage/prettify.js +0 -477
- package/dist/coverage/prettify.js.map +0 -1
- package/dist/coverage/sorter.d.ts +0 -1
- package/dist/coverage/sorter.js +0 -163
- package/dist/coverage/sorter.js.map +0 -1
- package/dist/formatter/index.d.ts +0 -37
- package/dist/formatter/index.js +0 -75
- package/dist/formatter/index.js.map +0 -1
- package/dist/hal/index.d.ts +0 -5
- package/dist/hal/index.js +0 -69
- package/dist/hal/index.js.map +0 -1
- package/dist/health/health-logger.d.ts +0 -9
- package/dist/health/health-logger.js +0 -34
- package/dist/health/health-logger.js.map +0 -1
- package/dist/health/index.d.ts +0 -19
- package/dist/health/index.js +0 -175
- package/dist/health/index.js.map +0 -1
- package/dist/helpers/index.d.ts +0 -1
- package/dist/helpers/index.js +0 -2
- package/dist/helpers/index.js.map +0 -1
- package/dist/helpers/test-server-wrapper.d.ts +0 -120
- package/dist/helpers/test-server-wrapper.js +0 -165
- package/dist/helpers/test-server-wrapper.js.map +0 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -17
- package/dist/index.js.map +0 -1
- package/dist/last-commit.d.ts +0 -1
- package/dist/last-commit.js +0 -12
- package/dist/last-commit.js.map +0 -1
- package/dist/last_commit/index.d.ts +0 -7
- package/dist/last_commit/index.js +0 -83
- package/dist/last_commit/index.js.map +0 -1
- package/dist/paginator/s4-pagination.d.ts +0 -9
- package/dist/paginator/s4-pagination.js +0 -49
- package/dist/paginator/s4-pagination.js.map +0 -1
- package/dist/paginator/sql-pagination.d.ts +0 -27
- package/dist/paginator/sql-pagination.js +0 -166
- package/dist/paginator/sql-pagination.js.map +0 -1
- package/dist/paper-trail/helpers.d.ts +0 -11
- package/dist/paper-trail/helpers.js +0 -74
- package/dist/paper-trail/helpers.js.map +0 -1
- package/dist/paper-trail/index.d.ts +0 -13
- package/dist/paper-trail/index.js +0 -662
- package/dist/paper-trail/index.js.map +0 -1
- package/dist/prompts/index.d.ts +0 -14
- package/dist/prompts/index.js +0 -63
- package/dist/prompts/index.js.map +0 -1
- package/dist/queue/index.d.ts +0 -166
- package/dist/queue/index.js +0 -371
- package/dist/queue/index.js.map +0 -1
- package/dist/queue/publisher.d.ts +0 -31
- package/dist/queue/publisher.js +0 -84
- package/dist/queue/publisher.js.map +0 -1
- package/dist/queue/queue-logger.d.ts +0 -9
- package/dist/queue/queue-logger.js +0 -35
- package/dist/queue/queue-logger.js.map +0 -1
- package/dist/queue/subscriber.d.ts +0 -39
- package/dist/queue/subscriber.js +0 -97
- package/dist/queue/subscriber.js.map +0 -1
- package/dist/safe_proxy/index.d.ts +0 -13
- package/dist/safe_proxy/index.js +0 -54
- package/dist/safe_proxy/index.js.map +0 -1
- package/dist/serializer/index.d.ts +0 -5
- package/dist/serializer/index.js +0 -83
- package/dist/serializer/index.js.map +0 -1
- package/dist/test/debug-array.d.ts +0 -0
- package/dist/test/debug-array.js +0 -1
- package/dist/test/debug-array.js.map +0 -1
- package/dist/test/debug-setJSONB.d.ts +0 -0
- package/dist/test/debug-setJSONB.js +0 -1
- package/dist/test/debug-setJSONB.js.map +0 -1
- package/dist/test/prompt.test.d.ts +0 -1
- package/dist/test/prompt.test.js +0 -74
- package/dist/test/prompt.test.js.map +0 -1
- package/dist/test/s4-formatter.spec.d.ts +0 -1
- package/dist/test/s4-formatter.spec.js +0 -67
- package/dist/test/s4-formatter.spec.js.map +0 -1
- package/dist/test/s4-pagination.spec.d.ts +0 -1
- package/dist/test/s4-pagination.spec.js +0 -170
- package/dist/test/s4-pagination.spec.js.map +0 -1
- package/dist/test/safe-proxy.spec.d.ts +0 -1
- package/dist/test/safe-proxy.spec.js +0 -252
- package/dist/test/safe-proxy.spec.js.map +0 -1
- package/dist/test/serializer.spec.d.ts +0 -1
- package/dist/test/serializer.spec.js +0 -27
- package/dist/test/serializer.spec.js.map +0 -1
- package/dist/test/utils.spec.d.ts +0 -1
- package/dist/test/utils.spec.js +0 -446
- package/dist/test/utils.spec.js.map +0 -1
- package/dist/ts/task-scheduler/index.d.ts +0 -130
- package/dist/ts/task-scheduler/index.js +0 -259
- package/dist/ts/task-scheduler/index.js.map +0 -1
- package/formatter/index.js +0 -81
- package/hal/README.md +0 -54
- package/hal/index.js +0 -75
- package/health/health-logger.js +0 -40
- package/health/index.js +0 -188
- package/helpers/index.js +0 -1
- package/helpers/test-server-wrapper.js +0 -196
- package/last-commit.js +0 -12
- package/last_commit/index.js +0 -82
- package/logger/s4-logger.js +0 -128
- package/paginator/README.md +0 -183
- package/paginator/s4-pagination.js +0 -51
- package/paginator/sql-pagination.js +0 -178
- package/paper-trail/README.md +0 -68
- package/paper-trail/helpers.js +0 -99
- package/paper-trail/index.js +0 -843
- package/prompts/index.js +0 -78
- package/queue/index.js +0 -402
- package/queue/publisher.js +0 -96
- package/queue/queue-logger.js +0 -40
- package/queue/subscriber.js +0 -107
- package/safe_proxy/index.js +0 -61
- package/scripts/publish.sh +0 -46
- package/serializer/index.js +0 -90
- package/test/health.spec.js +0 -213
- package/test/prompt.test.js +0 -91
- package/test/s4-formatter.spec.js +0 -80
- package/test/s4-pagination.spec.js +0 -196
- package/test/serializer.spec.js +0 -34
- package/test/utils.spec.js +0 -145
- package/utils/index.js +0 -74
package/dist/ts/queue/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import amqp from "amqplib";
|
|
1
|
+
import amqp from "amqplib/callback_api.js";
|
|
2
2
|
import logger from "./queue-logger.js";
|
|
3
3
|
import urlParse from "url-parse";
|
|
4
4
|
import { Publisher } from "./publisher.js";
|
|
@@ -13,7 +13,6 @@ class S4Queue {
|
|
|
13
13
|
this.retry = 10;
|
|
14
14
|
this.pubs = {};
|
|
15
15
|
this.subs = {};
|
|
16
|
-
this.fanouts = {};
|
|
17
16
|
}
|
|
18
17
|
/**
|
|
19
18
|
* Tests the connection to the service.
|
|
@@ -31,14 +30,9 @@ class S4Queue {
|
|
|
31
30
|
this.connectionTestChannel = null;
|
|
32
31
|
throw new Error("queue service not connected");
|
|
33
32
|
}
|
|
33
|
+
this.connectionTestChannel = this.connectionTestChannel || await this.connection.createChannel();
|
|
34
34
|
if (!this.connectionTestChannel) {
|
|
35
|
-
|
|
36
|
-
if (!ch) {
|
|
37
|
-
throw new Error("queue service failed to obtain a channel");
|
|
38
|
-
}
|
|
39
|
-
ch.on("error", () => { this.connectionTestChannel = null; });
|
|
40
|
-
ch.on("close", () => { this.connectionTestChannel = null; });
|
|
41
|
-
this.connectionTestChannel = ch;
|
|
35
|
+
throw new Error("queue service failed to obtain a channel");
|
|
42
36
|
}
|
|
43
37
|
await this.connectionTestChannel.assertExchange("--health-check--", "topic", { durable: false });
|
|
44
38
|
}
|
|
@@ -54,48 +48,55 @@ class S4Queue {
|
|
|
54
48
|
}
|
|
55
49
|
const retry = parseInt(options.retryInterval?.toString() || "10");
|
|
56
50
|
this.retry = retry || 10;
|
|
57
|
-
|
|
58
|
-
//
|
|
59
|
-
//
|
|
60
|
-
//
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
logger.error("connection error", err);
|
|
72
|
-
// Do not attempt to reconnect as the
|
|
73
|
-
// 'close' event will also be emitted
|
|
74
|
-
// if this error closes the connection
|
|
75
|
-
});
|
|
76
|
-
this.connection.on("close", (err) => {
|
|
77
|
-
logger.error("connection closed");
|
|
78
|
-
this.connection = null;
|
|
79
|
-
this.connectionTestChannel = null;
|
|
80
|
-
if (err) {
|
|
81
|
-
logger.error("connection closed due to error:", err);
|
|
82
|
-
logger.error("Reconnecting in", this.retry, "seconds");
|
|
83
|
-
setTimeout(attempt, this.retry * 1000);
|
|
84
|
-
}
|
|
85
|
-
else {
|
|
86
|
-
logger.debug("Will not re-attempt");
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
logger.debug("Connected");
|
|
90
|
-
resolve();
|
|
91
|
-
}
|
|
92
|
-
catch (err) {
|
|
51
|
+
logger.debug("Attempting connection...");
|
|
52
|
+
// The docs say there is amqp.connect returning
|
|
53
|
+
// a promise, but this version doesn't seem to like
|
|
54
|
+
// when a callback isn't provided, therefore run
|
|
55
|
+
// in a new Promise
|
|
56
|
+
return new Promise((resolve, reject) => {
|
|
57
|
+
// We may run into issues with SNI TLS if
|
|
58
|
+
// we host with 3rd parties using our own certs.
|
|
59
|
+
// To avoid any issues, let's parse the url
|
|
60
|
+
// and provide the server name in the socket options
|
|
61
|
+
const urlParts = urlParse(options.connectionUrl);
|
|
62
|
+
const socketOptions = { servername: urlParts.hostname };
|
|
63
|
+
amqp.connect(options.connectionUrl, socketOptions, (err, conn) => {
|
|
64
|
+
if (err) {
|
|
93
65
|
logger.error("Error while connecting", err);
|
|
94
66
|
logger.error("Attempting again in", this.retry, "seconds");
|
|
95
|
-
setTimeout(
|
|
67
|
+
return setTimeout(() => this.openConnection(options), this.retry * 1000);
|
|
96
68
|
}
|
|
97
|
-
|
|
98
|
-
|
|
69
|
+
this.connection = conn;
|
|
70
|
+
if (!this.connection) {
|
|
71
|
+
return reject(new Error("Failed to obtain connection"));
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
this.updatePubsAndSubsConnectionRef(conn);
|
|
75
|
+
}
|
|
76
|
+
this.connection.on("error", (err) => {
|
|
77
|
+
logger.error("connection error", err);
|
|
78
|
+
// Do not attempt to reconnect as the
|
|
79
|
+
// 'close' event will also be emitted
|
|
80
|
+
// if this error closes the connection
|
|
81
|
+
});
|
|
82
|
+
this.connection.on("close", (err) => {
|
|
83
|
+
logger.error("connection closed");
|
|
84
|
+
this.connection = null;
|
|
85
|
+
if (err) {
|
|
86
|
+
logger.error("connection closed due to error:", err);
|
|
87
|
+
logger.error("Reconnecting in", this.retry, "seconds");
|
|
88
|
+
setTimeout(() => this.openConnection(options), this.retry * 1000);
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
// If there was no error, it is us who closed
|
|
92
|
+
// this connection, thus a reconnection will not
|
|
93
|
+
// be attempted.
|
|
94
|
+
logger.debug("Will not re-attempt");
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
logger.debug("Connected");
|
|
98
|
+
resolve();
|
|
99
|
+
});
|
|
99
100
|
});
|
|
100
101
|
}
|
|
101
102
|
/**
|
|
@@ -104,13 +105,22 @@ class S4Queue {
|
|
|
104
105
|
* and subscribers
|
|
105
106
|
*/
|
|
106
107
|
async closeConnection() {
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
108
|
+
return new Promise((resolve, reject) => {
|
|
109
|
+
if (!this.connection) {
|
|
110
|
+
return resolve();
|
|
111
|
+
}
|
|
112
|
+
this.connection.close((err) => {
|
|
113
|
+
if (err) {
|
|
114
|
+
reject(err);
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
this.subs = {};
|
|
118
|
+
this.pubs = {};
|
|
119
|
+
this.connection = null;
|
|
120
|
+
resolve();
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
});
|
|
114
124
|
}
|
|
115
125
|
/**
|
|
116
126
|
* Returns whether we have an active connection
|
|
@@ -169,15 +179,6 @@ class S4Queue {
|
|
|
169
179
|
hasPublisher(exchange) {
|
|
170
180
|
return Object.keys(this.pubs).includes(exchange);
|
|
171
181
|
}
|
|
172
|
-
/**
|
|
173
|
-
* Checks whether or not a fanout with given exchange name
|
|
174
|
-
* has been registered already
|
|
175
|
-
* @param exchange the name of the exchange.
|
|
176
|
-
* @returns true if registered already, false otherwise
|
|
177
|
-
*/
|
|
178
|
-
hasFanout(exchange) {
|
|
179
|
-
return Object.keys(this.fanouts).includes(exchange);
|
|
180
|
-
}
|
|
181
182
|
/**
|
|
182
183
|
* Removes a previously registered publisher
|
|
183
184
|
* @param options
|
|
@@ -342,78 +343,10 @@ class S4Queue {
|
|
|
342
343
|
}
|
|
343
344
|
});
|
|
344
345
|
}
|
|
345
|
-
/**
|
|
346
|
-
* Registers a fanout exchange with multiple bound queues.
|
|
347
|
-
* Creates the fanout exchange if it doesn't exist, then creates and binds
|
|
348
|
-
* all specified queues to the exchange.
|
|
349
|
-
* @param config Fanout configuration with exchange and queue definitions
|
|
350
|
-
*/
|
|
351
|
-
async registerFanout(config) {
|
|
352
|
-
const { exchange, queues } = config;
|
|
353
|
-
logger.debug(`Registering fanout configuration for exchange: ${exchange.name}`);
|
|
354
|
-
// First, register the fanout publisher (this creates the exchange)
|
|
355
|
-
await this.registerPublisher({ exchange });
|
|
356
|
-
// Then register subscribers for each queue
|
|
357
|
-
for (const queueConfig of queues) {
|
|
358
|
-
const subscriberOptions = {
|
|
359
|
-
exchange,
|
|
360
|
-
queue: {
|
|
361
|
-
name: queueConfig.name,
|
|
362
|
-
options: queueConfig.options
|
|
363
|
-
},
|
|
364
|
-
key: queueConfig.routingKey || "" // Fanout exchanges ignore routing keys, but we need it for the interface
|
|
365
|
-
};
|
|
366
|
-
await this.registerSubscriber(subscriberOptions);
|
|
367
|
-
logger.debug(`Registered fanout subscriber for queue: ${queueConfig.name}${queueConfig.routingKey ? ` with routing key: ${queueConfig.routingKey}` : ' (no routing key - fanout ignores it)'}`);
|
|
368
|
-
}
|
|
369
|
-
// Store the fanout configuration
|
|
370
|
-
this.fanouts[exchange.name] = config;
|
|
371
|
-
logger.info(`Successfully registered fanout configuration with ${queues.length} queues`);
|
|
372
|
-
}
|
|
373
|
-
/**
|
|
374
|
-
* Unregisters a fanout configuration by removing all associated subscribers
|
|
375
|
-
* and optionally the publisher/exchange.
|
|
376
|
-
* @param config Fanout configuration to unregister
|
|
377
|
-
* @param removeExchange Whether to also remove the exchange (default: false)
|
|
378
|
-
*/
|
|
379
|
-
async unregisterFanout(config, removeExchange = false) {
|
|
380
|
-
const { exchange, queues } = config;
|
|
381
|
-
logger.debug(`Unregistering fanout configuration for exchange: ${exchange.name}`);
|
|
382
|
-
// Unregister all subscribers
|
|
383
|
-
for (const queueConfig of queues) {
|
|
384
|
-
const unregisterOptions = {
|
|
385
|
-
exchange,
|
|
386
|
-
queue: {
|
|
387
|
-
name: queueConfig.name
|
|
388
|
-
},
|
|
389
|
-
key: queueConfig.routingKey || ""
|
|
390
|
-
};
|
|
391
|
-
try {
|
|
392
|
-
await this.unregisterSubscriber(unregisterOptions);
|
|
393
|
-
logger.debug(`Unregistered fanout subscriber for queue: ${queueConfig.name}${queueConfig.routingKey ? ` with routing key: ${queueConfig.routingKey}` : ' (no routing key)'}`);
|
|
394
|
-
}
|
|
395
|
-
catch (error) {
|
|
396
|
-
logger.warn(`Failed to unregister subscriber for queue ${queueConfig.name}:`, error);
|
|
397
|
-
}
|
|
398
|
-
}
|
|
399
|
-
// Optionally remove the exchange/publisher
|
|
400
|
-
if (removeExchange) {
|
|
401
|
-
try {
|
|
402
|
-
await this.unregisterPublisher({ exchange });
|
|
403
|
-
logger.debug(`Unregistered fanout publisher for exchange: ${exchange.name}`);
|
|
404
|
-
}
|
|
405
|
-
catch (error) {
|
|
406
|
-
logger.warn(`Failed to unregister publisher for exchange ${exchange.name}:`, error);
|
|
407
|
-
}
|
|
408
|
-
}
|
|
409
|
-
// Remove the fanout configuration from storage
|
|
410
|
-
delete this.fanouts[exchange.name];
|
|
411
|
-
logger.info(`Successfully unregistered fanout configuration`);
|
|
412
|
-
}
|
|
413
346
|
/**
|
|
414
347
|
* Updates the connection reference to all the previously
|
|
415
|
-
* registered publishers
|
|
416
|
-
* After we successfully establish a connection and register pubs/subs
|
|
348
|
+
* registered publishers and subscribers.
|
|
349
|
+
* After we successfully establish a connection and register pubs/subs,
|
|
417
350
|
* it's possible for the connection to break. This object will try
|
|
418
351
|
* to re-establish a new connection every 3 seconds (or whatever configuration is set)
|
|
419
352
|
* and if a new connection is established, we need to pass that connection to
|
|
@@ -431,8 +364,6 @@ class S4Queue {
|
|
|
431
364
|
const s = this.subs[k];
|
|
432
365
|
s.init(connRef);
|
|
433
366
|
});
|
|
434
|
-
// Note: Fanouts don't need connection updates as they use the same pubs/subs
|
|
435
|
-
logger.debug(`Updated connection for ${Object.keys(this.pubs).length} publishers and ${Object.keys(this.subs).length} subscribers`);
|
|
436
367
|
}
|
|
437
368
|
}
|
|
438
369
|
const queue = new S4Queue();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../ts/queue/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../ts/queue/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,35 +1,73 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sera4/essentia",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.6",
|
|
4
4
|
"description": "A library of utilities for Teleporte Web Services",
|
|
5
|
-
"main": "index.js",
|
|
5
|
+
"main": "dist/ts/index.js",
|
|
6
6
|
"type": "module",
|
|
7
|
+
"types": "dist/ts/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": "./dist/ts/index.js",
|
|
10
|
+
"./ts/dns": "./dist/ts/dns/index.js",
|
|
11
|
+
"./ts/logger": "./dist/ts/logger/index.js",
|
|
12
|
+
"./ts/health": "./dist/ts/health/index.js",
|
|
13
|
+
"./ts/cycle": "./dist/ts/cycle/index.js",
|
|
14
|
+
"./ts/constants": "./dist/ts/constants/index.js",
|
|
15
|
+
"./ts/utils": "./dist/ts/utils/index.js",
|
|
16
|
+
"./ts/helpers": "./dist/ts/helpers/index.js",
|
|
17
|
+
"./ts/paginator": "./dist/ts/paginator/index.js",
|
|
18
|
+
"./ts/cache": "./dist/ts/cache/index.js",
|
|
19
|
+
"./ts/prompts": "./dist/ts/prompts/index.js",
|
|
20
|
+
"./ts/safe-proxy": "./dist/ts/safe-proxy/index.js",
|
|
21
|
+
"./ts/queue": "./dist/ts/queue/index.js",
|
|
22
|
+
"./ts/last-commit": "./dist/ts/last-commit/index.js",
|
|
23
|
+
"./ts/hal": "./dist/ts/hal/index.js",
|
|
24
|
+
"./ts/formatter": "./dist/ts/formatter/index.js",
|
|
25
|
+
"./ts/serializer": "./dist/ts/serializer/index.js",
|
|
26
|
+
"./ts/paper-trail": "./dist/ts/paper-trail/index.js"
|
|
27
|
+
},
|
|
7
28
|
"scripts": {
|
|
8
|
-
"test": "NODE_ENV=test NODE_OPTIONS='--
|
|
9
|
-
"test:dev": "NODE_ENV=test NODE_OPTIONS='--no-
|
|
10
|
-
"test:only": "NODE_ENV=test NODE_OPTIONS='--no-
|
|
11
|
-
"test:pretty": "NODE_ENV=test NODE_OPTIONS='--no-
|
|
12
|
-
"
|
|
29
|
+
"test": "NODE_ENV=test NODE_OPTIONS='--import tsx' mocha --forbid-only --reporter mocha-junit-reporter --reporter-options mochaFile=./test-results/result.xml --exit 'test/**/*.test.ts' 'test/**/*.spec.ts' 'test/**/*.test.js' 'test/**/*.spec.js'",
|
|
30
|
+
"test:dev": "NODE_ENV=test NODE_OPTIONS='--no-warnings --loader ts-node/esm' mocha --forbid-only 'test/**/*.test.ts' 'test/**/*.spec.ts' 'test/**/*.test.js' 'test/**/*.spec.js'",
|
|
31
|
+
"test:only": "NODE_ENV=test NODE_OPTIONS='--no-warnings --loader ts-node/esm' mocha --watch 'test/**/*.test.ts' 'test/**/*.spec.ts' 'test/**/*.test.js' 'test/**/*.spec.js'",
|
|
32
|
+
"test:pretty": "NODE_ENV=test NODE_OPTIONS='--no-warnings --loader ts-node/esm' mocha --reporter mocha-simple-html-reporter --reporter-options output=./test-results/result.html --exit 'test/**/*.test.ts' 'test/**/*.spec.ts' 'test/**/*.test.js' 'test/**/*.spec.js'",
|
|
33
|
+
"test:coverage": "NODE_ENV=test NODE_OPTIONS='--no-warnings --loader ts-node/esm' c8 --all --include='ts/**/*.ts' --exclude='test/**/*.ts' --reporter=html --reporter=text --reporter=lcov mocha --forbid-only --exit 'test/**/*.test.ts' 'test/**/*.spec.ts' 'test/**/*.test.js' 'test/**/*.spec.js'",
|
|
13
34
|
"last-commit": "node last-commit.js",
|
|
14
|
-
"
|
|
35
|
+
"build": "tsc",
|
|
36
|
+
"build:watch": "tsc -w",
|
|
37
|
+
"clean": "rm -rf dist"
|
|
15
38
|
},
|
|
16
39
|
"author": "Dev DM <dev@sera4.com>",
|
|
17
40
|
"repository": {
|
|
18
41
|
"type": "git",
|
|
19
|
-
"url": "git@bitbucket.org
|
|
42
|
+
"url": "git+ssh://git@bitbucket.org/lockedup/essentia.git"
|
|
20
43
|
},
|
|
21
44
|
"license": "UNLICENSED",
|
|
22
45
|
"devDependencies": {
|
|
23
|
-
"
|
|
46
|
+
"@types/argparse": "^2.0.17",
|
|
47
|
+
"@types/chai": "^4.3.11",
|
|
48
|
+
"@types/express": "^4.17.21",
|
|
49
|
+
"@types/lodash": "^4.17.20",
|
|
50
|
+
"@types/mocha": "^10.0.10",
|
|
51
|
+
"@types/morgan": "^1.9.9",
|
|
52
|
+
"@types/node": "^20.17.32",
|
|
53
|
+
"@types/prompt": "^1.1.9",
|
|
54
|
+
"@types/sinon": "^10.0.20",
|
|
55
|
+
"@types/sinon-chai": "^4.0.0",
|
|
56
|
+
"c8": "^8.0.1",
|
|
57
|
+
"chai": "^5.2.0",
|
|
24
58
|
"express": "^4.17.1",
|
|
25
59
|
"mocha": "^11.1.0",
|
|
26
60
|
"mocha-junit-reporter": "^2.2.1",
|
|
27
61
|
"node-mocks-http": "^1.16.2",
|
|
28
62
|
"should": "^13.2.3",
|
|
29
|
-
"sinon": "^5.1.1"
|
|
63
|
+
"sinon": "^5.1.1",
|
|
64
|
+
"sinon-chai": "^4.0.0",
|
|
65
|
+
"ts-node": "^10.9.2",
|
|
66
|
+
"tsx": "^4.20.5",
|
|
67
|
+
"typescript": "^5.3.3"
|
|
30
68
|
},
|
|
31
69
|
"dependencies": {
|
|
32
|
-
"amqplib": "^0.10.
|
|
70
|
+
"amqplib": "^0.10.7",
|
|
33
71
|
"argparse": "^2.0.1",
|
|
34
72
|
"async": "^3.2.2",
|
|
35
73
|
"axios": "^1.7.7",
|
|
@@ -40,6 +78,7 @@
|
|
|
40
78
|
"lodash": "^4.17.21",
|
|
41
79
|
"morgan": "^1.10.0",
|
|
42
80
|
"prompt": "^1.3.0",
|
|
81
|
+
"recursive-iterator": "^3.3.0",
|
|
43
82
|
"url-parse": "^1.5.10",
|
|
44
83
|
"uuid": "^9.0.0",
|
|
45
84
|
"winston": "^3.3.3",
|
package/package.tar.gz
ADDED
|
Binary file
|
package/cache/index.js
DELETED
|
@@ -1,188 +0,0 @@
|
|
|
1
|
-
"use strict"
|
|
2
|
-
|
|
3
|
-
import { promisify } from "util";
|
|
4
|
-
|
|
5
|
-
const isEmpty = obj => [Object, Array].includes((obj || {}).constructor) && !Object.entries((obj || {})).length;
|
|
6
|
-
|
|
7
|
-
class CacheConfigError extends Error {
|
|
8
|
-
constructor(m) {
|
|
9
|
-
super(m);
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
/* Redis cache helper
|
|
14
|
-
* Example use: Place the following code in your project to setup redis use
|
|
15
|
-
*
|
|
16
|
-
* import { cache } from "@sera4/essentia";
|
|
17
|
-
* const cacheHelper = cache({ password: .., database: .., host: .., port: .. }, "service:"));
|
|
18
|
-
*
|
|
19
|
-
*/
|
|
20
|
-
|
|
21
|
-
const convertRedisKeyValueToJson = (v) => {
|
|
22
|
-
return (v && v.length > 0 && v[0] !== null) ? JSON.parse(v) : null;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
const convertRedisHashToJson = (v) => {
|
|
26
|
-
if (v) {
|
|
27
|
-
var result = {};
|
|
28
|
-
for(var k in v) {
|
|
29
|
-
if (v.hasOwnProperty(k)) {
|
|
30
|
-
result[k] = JSON.parse(v[k]);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
return result;
|
|
34
|
-
} else {
|
|
35
|
-
return null;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
function convertJsonToRedisValue(j) {
|
|
40
|
-
var result = {};
|
|
41
|
-
for (var key in j) {
|
|
42
|
-
if (j.hasOwnProperty(key)) {
|
|
43
|
-
result[key] = JSON.stringify(j[key]);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
return result;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
class Cache {
|
|
50
|
-
constructor(config, servicePrefix) {
|
|
51
|
-
if ((config == undefined) || isEmpty(config)) {
|
|
52
|
-
throw new CacheConfigError("Invalid cache configuration");
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
if (servicePrefix == null) {
|
|
56
|
-
throw new CacheConfigError("Invalid service prefix");
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
if (config.fake) {
|
|
60
|
-
// used in testing
|
|
61
|
-
this.redisClient = require("fakeredis").createClient("fake backend")
|
|
62
|
-
} else {
|
|
63
|
-
this.redisClient = require("redis").createClient(config);
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
this.redisClient.on("error", (err) => {
|
|
67
|
-
logger.error("Cache/Redis error: ", err);
|
|
68
|
-
});
|
|
69
|
-
|
|
70
|
-
this.servicePrefix = servicePrefix;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
ping() {
|
|
74
|
-
return this.redisClient.ping();
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
properKey(key, path) {
|
|
78
|
-
let p = this.servicePrefix + key
|
|
79
|
-
if (path)
|
|
80
|
-
p += path
|
|
81
|
-
return p
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
writeHash(path, key, value) {
|
|
85
|
-
return this.redisClient.hsetAsync(properKey(key), key, value);
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
writeHashBlocking(path, key, value) {
|
|
89
|
-
return this.redisClient.hset(properKey(key), key, value);
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
// write multiple hash keys and stringify every value
|
|
93
|
-
writeMultiHash(path, j) {
|
|
94
|
-
return this.redisClient.hmsetAsync(properKey(key), convertJsonToRedisValue(j));
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
readHashKey(obj, key, autoConvert=true) {
|
|
98
|
-
var k = autoConvert;
|
|
99
|
-
|
|
100
|
-
return new Promise((resolve, reject) => {
|
|
101
|
-
this.redisClient.hget(properKey(key, obj), key, (e, r) => {
|
|
102
|
-
if (e) {
|
|
103
|
-
logger.error("Redis hmget error:", e);
|
|
104
|
-
reject(e);
|
|
105
|
-
} else {
|
|
106
|
-
resolve(k ? convertRedisKeyValueToJson(r) : r);
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
readHash(path) {
|
|
113
|
-
return new Promise((resolve, reject) => {
|
|
114
|
-
this.redisClient.hgetall(properKey(key, path), (e, r) => {
|
|
115
|
-
if (e) {
|
|
116
|
-
console.log("Redis hget error:", e);
|
|
117
|
-
reject(e);
|
|
118
|
-
} else {
|
|
119
|
-
resolve(convertRedisHashToJson(r));
|
|
120
|
-
}
|
|
121
|
-
});
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
deleteHashKey(hash, key) {
|
|
126
|
-
return new Promise((resolve, reject) => {
|
|
127
|
-
this.redisClient.hdel(properKey(key, hash), key, (err) => {
|
|
128
|
-
if (err) {
|
|
129
|
-
logger.error("Redis hdel error:", err);
|
|
130
|
-
reject(err);
|
|
131
|
-
} else {
|
|
132
|
-
resolve();
|
|
133
|
-
}
|
|
134
|
-
});
|
|
135
|
-
});
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
get(key) {
|
|
139
|
-
return this.redisClient.getAsync(properKey(key));
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
getAsync(key) {
|
|
143
|
-
return promisify(this.redisClient.get(key)).bind(this.redisClient)
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
/* a single key write with optional expiry */
|
|
148
|
-
// returns bluebird promise
|
|
149
|
-
writeKey(key, value, expiry) {
|
|
150
|
-
key = this.servicePrefix + key;
|
|
151
|
-
if (expiry) {
|
|
152
|
-
return this.redisClient.setAsync(key, value, "EX", expiry);
|
|
153
|
-
} else {
|
|
154
|
-
return this.redisClient.setAsync(key, value);
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
deleteKey(key) {
|
|
159
|
-
return redisClient.delAsync(properKey(key));
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
expire(path, expiry) {
|
|
163
|
-
return this.redisClient.expire(path, expiry);
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
exists(path) {
|
|
167
|
-
return this.redisClient.exists(path);
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
deleteAllKeys() {
|
|
171
|
-
return new Promise((resolve, reject) => {
|
|
172
|
-
if(process.env.NODE_ENV === "production") {
|
|
173
|
-
throw new Error("Clearing system cache is not permitted in production");
|
|
174
|
-
}
|
|
175
|
-
this.redisClient.flushdb((err, res) => {
|
|
176
|
-
if (err) {
|
|
177
|
-
reject(err);
|
|
178
|
-
} else {
|
|
179
|
-
resolve(res);
|
|
180
|
-
}
|
|
181
|
-
});
|
|
182
|
-
});
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
export default function(config, servicePrefix) {
|
|
187
|
-
return new Cache(config, servicePrefix)
|
|
188
|
-
}
|