Skip to content

Commit bfe18ce

Browse files
emit stuff updated.
1 parent d654d21 commit bfe18ce

File tree

2 files changed

+22
-3
lines changed

2 files changed

+22
-3
lines changed

src/PuddySqlEvents.mjs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,15 @@ class PuddySqlEvents {
1616
);
1717
}
1818

19-
static Test = 'Test';
19+
/**
20+
* Constant identifier used to represent a connection failure.
21+
*
22+
* This can be thrown, logged, or compared when the database connection is not available.
23+
*
24+
* @type {string}
25+
* @static
26+
*/
27+
static ConnectionError = 'Connection-Error';
2028

2129
/**
2230
* @returns {string[]}

src/PuddySqlInstance.mjs

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import { validatePostgresParams } from './Utils.mjs';
66
import { pg, sqlite3 } from './Modules.mjs';
77
import PuddySqlEngine from './PuddySqlEngine.mjs';
88
import PuddySqlQuery from './PuddySqlQuery.mjs';
9+
import PuddySqlEvents from './PuddySqlEvents.mjs';
910

1011
/** @typedef {import('pg').Pool} PgPool */
1112
/** @typedef {import('sqlite').Database} SqliteDb */
@@ -44,6 +45,16 @@ class PuddySqlInstance extends PuddySqlEngine {
4445
#sysEvents = new EventEmitter();
4546
#sysEventsUsed = false;
4647

48+
/**
49+
* Emits an event with optional arguments to all system emit.
50+
* @param {string | symbol} event - The name of the event to emit.
51+
* @param {...any} args - Arguments passed to event listeners.
52+
*/
53+
#emit(event, ...args) {
54+
this.#events.emit(event, ...args);
55+
if (this.#sysEventsUsed) this.#sysEvents.emit(event, ...args);
56+
}
57+
4758
/**
4859
* Provides access to a secure internal EventEmitter for subclass use only.
4960
*
@@ -586,7 +597,7 @@ class PuddySqlInstance extends PuddySqlEngine {
586597
* @returns {void}
587598
*/
588599
const rejectConnection = (reject, err) => {
589-
if (isConnectionError(err)) this.#events.emit('connection-error', err);
600+
if (isConnectionError(err)) this.#emit(PuddySqlEvents.ConnectionError, err);
590601
reject(err);
591602
};
592603
const getId = () => this.#debugCount++;
@@ -748,7 +759,7 @@ class PuddySqlInstance extends PuddySqlEngine {
748759
* @returns {void}
749760
*/
750761
const rejectConnection = (err) => {
751-
if (isConnectionError(err)) this.#events.emit('connection-error', err);
762+
if (isConnectionError(err)) this.#emit(PuddySqlEvents.ConnectionError, err);
752763
};
753764
db.on('error', rejectConnection);
754765

0 commit comments

Comments
 (0)