@trap_stevo/filetide 0.0.42 → 0.0.44
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/cjs/FileMessager.js +34 -13
- package/dist/cjs/FileMessagerClient.js +5 -1
- package/dist/cjs/FileTide.js +3 -1
- package/dist/cjs/HUDManagers/FileTransferManager.js +2 -1
- package/dist/cjs/HUDManagers/FileTransferRecoveryManager.js +3 -3
- package/package.json +1 -1
- package/dist/cjs/HUDManagers/LomlLoggingSystem.js +0 -379
package/dist/cjs/FileMessager.js
CHANGED
|
@@ -211,15 +211,23 @@ class FileMessager {
|
|
|
211
211
|
totalChunks
|
|
212
212
|
} = chunkData;
|
|
213
213
|
console.log(`[FileTide ~ File Messager] ~ Transferring file ~ ${fileName} | chunk ${chunkIndex + 1} >> ${completedChunks} of ${totalChunks} to client (${recipientId})`);
|
|
214
|
+
const recipientClient = FileNetClientManager.getOnlineClient(recipientId);
|
|
215
|
+
const senderClient = FileNetClientManager.getOnlineClient(senderID);
|
|
214
216
|
this.sendFileChunkToClient({
|
|
215
217
|
userID: senderID,
|
|
216
|
-
id:
|
|
218
|
+
id: senderClient.id
|
|
217
219
|
}, {
|
|
218
220
|
userID: recipientId,
|
|
219
|
-
id:
|
|
221
|
+
id: recipientClient.id
|
|
220
222
|
}, fileChunk, fileName, chunkIndex, chunkSize, totalChunks, filePath, fileSize);
|
|
221
223
|
if (completedChunks === totalChunks) {
|
|
222
|
-
this.fileNet.
|
|
224
|
+
this.fileNet.emitToTide(recipientClient.tideID, "transfer-complete", {
|
|
225
|
+
senderID,
|
|
226
|
+
recipientId,
|
|
227
|
+
fileName,
|
|
228
|
+
filePath
|
|
229
|
+
});
|
|
230
|
+
this.fileNet.emitToTide(senderClient.tideID, "transfer-complete", {
|
|
223
231
|
senderID,
|
|
224
232
|
recipientId,
|
|
225
233
|
fileName,
|
|
@@ -228,7 +236,7 @@ class FileMessager {
|
|
|
228
236
|
console.log(`[FileTide ~ File Messager] ~ File transfer completed: ${fileName} from ${senderID} to ${recipientId}`);
|
|
229
237
|
const tidingTransfers = this.currentTidingTransfers.get(senderID);
|
|
230
238
|
if (tidingTransfers) {
|
|
231
|
-
tidingTransfers.delete(
|
|
239
|
+
tidingTransfers.delete(senderID);
|
|
232
240
|
}
|
|
233
241
|
}
|
|
234
242
|
}
|
|
@@ -247,15 +255,23 @@ class FileMessager {
|
|
|
247
255
|
totalChunks
|
|
248
256
|
} = transferData;
|
|
249
257
|
console.log(`[FileTide ~ File Messager] ~ Transferring file ~ ${fileName} | chunk ${chunkIndex + 1} >> ${completedChunks} of ${totalChunks} to client (${recipientId})`);
|
|
258
|
+
const recipientClient = FileNetClientManager.getOnlineClient(recipientId);
|
|
259
|
+
const senderClient = FileNetClientManager.getOnlineClient(senderID);
|
|
250
260
|
this.sendFileChunkToClient({
|
|
251
261
|
userID: senderID,
|
|
252
|
-
id:
|
|
262
|
+
id: senderClient.id
|
|
253
263
|
}, {
|
|
254
264
|
userID: recipientId,
|
|
255
|
-
id:
|
|
265
|
+
id: recipientClient.id
|
|
256
266
|
}, fileChunk, fileName, chunkIndex, chunkSize, totalChunks, filePath, fileSize);
|
|
257
267
|
if (chunkIndex + 1 === totalChunks) {
|
|
258
|
-
this.fileNet.
|
|
268
|
+
this.fileNet.emitToTide(recipientClient.tideID, "transfer-complete", {
|
|
269
|
+
senderID,
|
|
270
|
+
recipientId,
|
|
271
|
+
fileName,
|
|
272
|
+
filePath
|
|
273
|
+
});
|
|
274
|
+
this.fileNet.emitToTide(senderClient.tideID, "transfer-complete", {
|
|
259
275
|
senderID,
|
|
260
276
|
recipientId,
|
|
261
277
|
fileName,
|
|
@@ -264,7 +280,7 @@ class FileMessager {
|
|
|
264
280
|
console.log(`[FileTide ~ File Messager] ~ File transfer completed: ${fileName} from ${senderID} to ${recipientId}`);
|
|
265
281
|
const tidingTransfers = this.currentTidingTransfers.get(senderID);
|
|
266
282
|
if (tidingTransfers) {
|
|
267
|
-
tidingTransfers.delete(
|
|
283
|
+
tidingTransfers.delete(senderID);
|
|
268
284
|
}
|
|
269
285
|
}
|
|
270
286
|
} catch (error) {
|
|
@@ -474,18 +490,23 @@ class FileMessager {
|
|
|
474
490
|
const currentOnlineClients = Object.fromEntries(FileNetClientManager.getOnlineClients());
|
|
475
491
|
this.fileNet.emit("current-online-clients", currentOnlineClients);
|
|
476
492
|
this.fileNet.emit("current-clients", currentOnlineClients);
|
|
477
|
-
this.
|
|
493
|
+
const senderClient = this.getClientFromID(clientDetails.id);
|
|
494
|
+
this.fileNet.emitToTide(senderClient.tideID, "save-current-transfer-states", {
|
|
478
495
|
clientID: clientData.clientID
|
|
479
496
|
});
|
|
480
497
|
const tidingTransfers = this.currentTidingTransfers.get(clientData.clientID);
|
|
481
498
|
if (tidingTransfers && tidingTransfers.size > 0) {
|
|
482
499
|
for (let recipientID of tidingTransfers.keys()) {
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
500
|
+
const recipientConnectionID = FileNetClientManager.getOnlineClient(data.recipientID).id;
|
|
501
|
+
const client = this.getClientFromID(recipientConnectionID);
|
|
502
|
+
if (client) {
|
|
503
|
+
this.fileNet.emitToTide(client.tideID, "save-current-transfer-states", {
|
|
504
|
+
clientID: recipientID
|
|
505
|
+
});
|
|
506
|
+
}
|
|
486
507
|
}
|
|
508
|
+
this.currentTidingTransfers.delete(clientData.clientID);
|
|
487
509
|
}
|
|
488
|
-
this.currentTidingTransfers.delete(clientData.clientID);
|
|
489
510
|
} catch (error) {
|
|
490
511
|
console.log(`[FileTide ~ Net Activity] ~ Did not process client ~ ${clientData} offline signal ~ ${error}`);
|
|
491
512
|
}
|
|
@@ -170,13 +170,14 @@ class FileMessagerClient {
|
|
|
170
170
|
});
|
|
171
171
|
}
|
|
172
172
|
this.transporter.sendFile(file, {
|
|
173
|
-
onSendChunk: (transferId, chunkIndex, chunkSize, chunkData, totalChunks) => {
|
|
173
|
+
onSendChunk: (transferId, chunkIndex, chunkSize, chunkData, totalChunks, completedChunks) => {
|
|
174
174
|
return new Promise((resolve, reject) => {
|
|
175
175
|
this.clientTide.emitEvent(clientID, "client-to-client-transfer", {
|
|
176
176
|
senderID: clientID,
|
|
177
177
|
recipientId,
|
|
178
178
|
fileName,
|
|
179
179
|
fileChunk: chunkData,
|
|
180
|
+
completedChunks,
|
|
180
181
|
totalChunks,
|
|
181
182
|
chunkIndex,
|
|
182
183
|
chunkSize,
|
|
@@ -188,6 +189,7 @@ class FileMessagerClient {
|
|
|
188
189
|
},
|
|
189
190
|
onComplete: () => {
|
|
190
191
|
return new Promise((resolve, reject) => {
|
|
192
|
+
FileTransferRecoveryManager.clearTransferState(clientID, recipientId, `${filePath}-${fileName}`);
|
|
191
193
|
this.clientTide.emitEvent(clientID, "transfer-complete", {
|
|
192
194
|
senderID: clientID,
|
|
193
195
|
recipientId,
|
|
@@ -293,6 +295,7 @@ class FileMessagerClient {
|
|
|
293
295
|
});
|
|
294
296
|
chunkBatch.length = 0;
|
|
295
297
|
}
|
|
298
|
+
FileTransferRecoveryManager.clearTransferState(clientID, recipientId, `${filePath}-${fileName}`);
|
|
296
299
|
this.clientTide.emitEvent(clientID, "transfer-complete", {
|
|
297
300
|
senderID: clientID,
|
|
298
301
|
recipientId,
|
|
@@ -357,6 +360,7 @@ class FileMessagerClient {
|
|
|
357
360
|
},
|
|
358
361
|
onComplete: () => {
|
|
359
362
|
return new Promise((resolve, reject) => {
|
|
363
|
+
FileTransferRecoveryManager.clearTransferState(clientID, recipientId, `${filePath}-${fileName}`);
|
|
360
364
|
this.clientTide.emitEvent(clientID, "transfer-complete", {
|
|
361
365
|
senderID: clientID,
|
|
362
366
|
recipientId,
|
package/dist/cjs/FileTide.js
CHANGED
|
@@ -113,6 +113,9 @@ class FileTide {
|
|
|
113
113
|
getTidePath(inputPath) {
|
|
114
114
|
return FileUtilityManager.getTidePath(inputPath);
|
|
115
115
|
}
|
|
116
|
+
getTidingTransferStates() {
|
|
117
|
+
return FileTransferRecoveryManager.memoryStorage;
|
|
118
|
+
}
|
|
116
119
|
saveTransferStates() {
|
|
117
120
|
FileTransferRecoveryManager.flushToDisk();
|
|
118
121
|
}
|
|
@@ -481,7 +484,6 @@ function _setupFileEventListeners(userID, client, onTransferProgress, onIncoming
|
|
|
481
484
|
_FileTide.outputGradient(`[${userID}] File transfer complete : ${data.fileName}`, significantMessageColors);
|
|
482
485
|
const transferState = fileTransferReceiver.activeTransfers.get(data.fileName);
|
|
483
486
|
if (!transferState) {
|
|
484
|
-
FileTransferRecoveryManager.clearTransferState(userID, data.senderID, `${data.filePath}-${data.fileName}`);
|
|
485
487
|
return;
|
|
486
488
|
}
|
|
487
489
|
fileTransferReceiver.completeTransfer(data, (transferData, transfers, success, error) => {
|
|
@@ -178,6 +178,7 @@ async function _startTransfer(file, transferId, fileDetails, originDetails, onSe
|
|
|
178
178
|
transferState.activeChunks++;
|
|
179
179
|
try {
|
|
180
180
|
await onSendChunk(transferId, chunkIndex, this.chunkSize, chunk, transferState.totalChunks, transferState.completedChunks + 1);
|
|
181
|
+
transferState.transferredSize += this.chunkSize;
|
|
181
182
|
transferState.completedChunks++;
|
|
182
183
|
transferState.activeChunks--;
|
|
183
184
|
updateProgress();
|
|
@@ -190,7 +191,7 @@ async function _startTransfer(file, transferId, fileDetails, originDetails, onSe
|
|
|
190
191
|
resolve();
|
|
191
192
|
}
|
|
192
193
|
} catch (error) {
|
|
193
|
-
console.error(`Did not send chunk ${chunkIndex} ~ ${error.message}`);
|
|
194
|
+
console.error(`[FileTide ~ File Messager] ~ Did not send chunk ${chunkIndex} ~ ${error.message}`);
|
|
194
195
|
transferState.activeChunks--;
|
|
195
196
|
const retryCount = (transferState.failedChunks.get(chunkIndex) || 0) + 1;
|
|
196
197
|
if (retryCount > this.maxRetries) {
|
|
@@ -47,9 +47,9 @@ class FileTransferRecoveryManager {
|
|
|
47
47
|
if (transferState) {
|
|
48
48
|
try {
|
|
49
49
|
fs.writeFileSync(storageFile, JSON.stringify(transferState, null, 2));
|
|
50
|
-
console.log(`Saved transfer state to disk
|
|
50
|
+
console.log(`Saved transfer state to disk ~ ${storageFile}`);
|
|
51
51
|
} catch (error) {
|
|
52
|
-
console.error(`Error saving transfer state for ${key}
|
|
52
|
+
console.error(`Error saving transfer state for ${key} ~ ${error.message}`);
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
}
|
|
@@ -84,7 +84,7 @@ class FileTransferRecoveryManager {
|
|
|
84
84
|
senderName,
|
|
85
85
|
filePath
|
|
86
86
|
} = state;
|
|
87
|
-
console.log("Saving current state ~ ",
|
|
87
|
+
console.log("Saving current state ~ ", key);
|
|
88
88
|
this.saveToDisk(clientName, senderName, filePath);
|
|
89
89
|
}
|
|
90
90
|
;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trap_stevo/filetide",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.44",
|
|
4
4
|
"description": "Revolutionizing real-time file transfer with seamless, instant communication across any device. Deliver files instantly, regardless of platform, and experience unparalleled speed and control in managing transfers. Elevate your file-sharing capabilities with a tool designed for precision, efficiency, and effortless connectivity.",
|
|
5
5
|
"main": "dist/cjs/FileTide.js",
|
|
6
6
|
"scripts": {
|
|
@@ -1,379 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
const {
|
|
4
|
-
HUDIoTide
|
|
5
|
-
} = require("@trap_stevo/iotide-client");
|
|
6
|
-
const IoTide = require("@trap_stevo/iotide");
|
|
7
|
-
const Loml = require("@trap_stevo/loml");
|
|
8
|
-
class LomlLoggingSystem {
|
|
9
|
-
constructor(config = {}, ...args) {
|
|
10
|
-
this.lomlLogging = null;
|
|
11
|
-
this.clientInstance = config.clientInstance || false;
|
|
12
|
-
this.serverInstance = config.serverInstance || false;
|
|
13
|
-
this.setupIoTideInstance(config.lomlLoggingSystemOptions, ...args);
|
|
14
|
-
if (this.clientInstance) {
|
|
15
|
-
this.lomlLoggerClient = new HUDIoTide();
|
|
16
|
-
this.initializeClient(config.clientOptions);
|
|
17
|
-
}
|
|
18
|
-
if (this.serverInstance) {
|
|
19
|
-
this.lomlLogging.on("external-log", data => {
|
|
20
|
-
this.processExternalLog(data);
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
setupIoTideInstance(lomlLoggingSystemOptions, ...args) {
|
|
25
|
-
if (this.serverInstance) {
|
|
26
|
-
this.lomlLogging = new IoTide(lomlLoggingSystemOptions.port || 3069, lomlLoggingSystemOptions.options || {}, ...args);
|
|
27
|
-
this.lomlLogging.server.listen(lomlLoggingSystemOptions.port || 3069, "0.0.0.0", () => {
|
|
28
|
-
console.log(`LomlLoggingSystem ~ ${lomlLoggingSystemOptions.port || 3069}`);
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
initializeClient(clientOptions) {
|
|
33
|
-
const {
|
|
34
|
-
socketName,
|
|
35
|
-
url,
|
|
36
|
-
options,
|
|
37
|
-
onConnect
|
|
38
|
-
} = clientOptions;
|
|
39
|
-
this.lomlLoggerClient.createIO(socketName, url, options);
|
|
40
|
-
this.lomlLoggerClient.onEvent(socketName, "connect", () => {
|
|
41
|
-
console.log("Connected to the LomlLoggingSystem!");
|
|
42
|
-
if (onConnect) {
|
|
43
|
-
onConnect(this.lomlLoggerClient);
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
processExternalLog(data) {
|
|
48
|
-
const {
|
|
49
|
-
roomName,
|
|
50
|
-
tideID,
|
|
51
|
-
text,
|
|
52
|
-
styles,
|
|
53
|
-
colors,
|
|
54
|
-
direction,
|
|
55
|
-
href,
|
|
56
|
-
tag,
|
|
57
|
-
type,
|
|
58
|
-
protocol
|
|
59
|
-
} = data;
|
|
60
|
-
const loml = new Loml();
|
|
61
|
-
let formattedMessage;
|
|
62
|
-
switch (type) {
|
|
63
|
-
case "text":
|
|
64
|
-
formattedMessage = loml.text(text, styles).build();
|
|
65
|
-
break;
|
|
66
|
-
case "bold":
|
|
67
|
-
formattedMessage = loml.bold(text, styles).build();
|
|
68
|
-
break;
|
|
69
|
-
case "italic":
|
|
70
|
-
formattedMessage = loml.italic(text, styles).build();
|
|
71
|
-
break;
|
|
72
|
-
case "link":
|
|
73
|
-
formattedMessage = loml.link(text, href, styles).build();
|
|
74
|
-
break;
|
|
75
|
-
case "color":
|
|
76
|
-
formattedMessage = loml.color(text, styles.color, styles).build();
|
|
77
|
-
break;
|
|
78
|
-
case "gradientText":
|
|
79
|
-
formattedMessage = loml.gradientText(text, colors, direction, styles).build();
|
|
80
|
-
break;
|
|
81
|
-
case "customElement":
|
|
82
|
-
formattedMessage = loml.element(tag, text, styles).build();
|
|
83
|
-
break;
|
|
84
|
-
default:
|
|
85
|
-
formattedMessage = loml.text(text, styles).build();
|
|
86
|
-
}
|
|
87
|
-
if (protocol && protocol === "system") {
|
|
88
|
-
this.lomlLogging.emitTide("log", {
|
|
89
|
-
message: formattedMessage
|
|
90
|
-
});
|
|
91
|
-
return formattedMessage;
|
|
92
|
-
}
|
|
93
|
-
if (roomName) {
|
|
94
|
-
this.lomlLogging.emitToChannel(tideID, roomName, "log", {
|
|
95
|
-
message: formattedMessage
|
|
96
|
-
});
|
|
97
|
-
return formattedMessage;
|
|
98
|
-
}
|
|
99
|
-
this.lomlLogging.emit("log", {
|
|
100
|
-
message: formattedMessage
|
|
101
|
-
});
|
|
102
|
-
return formattedMessage;
|
|
103
|
-
}
|
|
104
|
-
logToAll(text, styles = {}) {
|
|
105
|
-
const loml = new Loml();
|
|
106
|
-
const formattedMessage = loml.text(text, styles).build();
|
|
107
|
-
this.lomlLogging.emit("log", {
|
|
108
|
-
message: formattedMessage
|
|
109
|
-
});
|
|
110
|
-
return formattedMessage;
|
|
111
|
-
}
|
|
112
|
-
logToRoom(tideID, roomName, text, styles = {}) {
|
|
113
|
-
const loml = new Loml();
|
|
114
|
-
const formattedMessage = loml.text(text, styles).build();
|
|
115
|
-
this.lomlLogging.emitToChannel(tideID, roomName, "log", {
|
|
116
|
-
message: formattedMessage
|
|
117
|
-
});
|
|
118
|
-
return formattedMessage;
|
|
119
|
-
}
|
|
120
|
-
logBoldToAll(text, styles = {}) {
|
|
121
|
-
const loml = new Loml();
|
|
122
|
-
const formattedMessage = loml.bold(text, styles).build();
|
|
123
|
-
this.lomlLogging.emit("log", {
|
|
124
|
-
message: formattedMessage
|
|
125
|
-
});
|
|
126
|
-
return formattedMessage;
|
|
127
|
-
}
|
|
128
|
-
logBoldToRoom(tideID, roomName, text, styles = {}) {
|
|
129
|
-
const loml = new Loml();
|
|
130
|
-
const formattedMessage = loml.bold(text, styles).build();
|
|
131
|
-
this.lomlLogging.emitToChannel(tideID, roomName, "log", {
|
|
132
|
-
message: formattedMessage
|
|
133
|
-
});
|
|
134
|
-
return formattedMessage;
|
|
135
|
-
}
|
|
136
|
-
logItalicToAll(text, styles = {}) {
|
|
137
|
-
const loml = new Loml();
|
|
138
|
-
const formattedMessage = loml.italic(text, styles).build();
|
|
139
|
-
this.lomlLogging.emit("log", {
|
|
140
|
-
message: formattedMessage
|
|
141
|
-
});
|
|
142
|
-
return formattedMessage;
|
|
143
|
-
}
|
|
144
|
-
logItalicToRoom(tideID, roomName, text, styles = {}) {
|
|
145
|
-
const loml = new Loml();
|
|
146
|
-
const formattedMessage = loml.italic(text, styles).build();
|
|
147
|
-
this.lomlLogging.emitToChannel(tideID, roomName, "log", {
|
|
148
|
-
message: formattedMessage
|
|
149
|
-
});
|
|
150
|
-
return formattedMessage;
|
|
151
|
-
}
|
|
152
|
-
logLinkToAll(text, href, styles = {}) {
|
|
153
|
-
const loml = new Loml();
|
|
154
|
-
const formattedMessage = loml.link(text, href, styles).build();
|
|
155
|
-
this.lomlLogging.emit("log", {
|
|
156
|
-
message: formattedMessage
|
|
157
|
-
});
|
|
158
|
-
return formattedMessage;
|
|
159
|
-
}
|
|
160
|
-
logLinkToRoom(tideID, roomName, text, href, styles = {}) {
|
|
161
|
-
const loml = new Loml();
|
|
162
|
-
const formattedMessage = loml.link(text, href, styles).build();
|
|
163
|
-
this.lomlLogging.emitToChannel(tideID, roomName, "log", {
|
|
164
|
-
message: formattedMessage
|
|
165
|
-
});
|
|
166
|
-
return formattedMessage;
|
|
167
|
-
}
|
|
168
|
-
logColorToAll(text, color, styles = {}) {
|
|
169
|
-
const loml = new Loml();
|
|
170
|
-
const formattedMessage = loml.color(text, color, styles).build();
|
|
171
|
-
this.lomlLogging.emit("log", {
|
|
172
|
-
message: formattedMessage
|
|
173
|
-
});
|
|
174
|
-
return formattedMessage;
|
|
175
|
-
}
|
|
176
|
-
logColorToRoom(tideID, roomName, text, color, styles = {}) {
|
|
177
|
-
const loml = new Loml();
|
|
178
|
-
const formattedMessage = loml.color(text, color, styles).build();
|
|
179
|
-
this.lomlLogging.emitToChannel(tideID, roomName, "log", {
|
|
180
|
-
message: formattedMessage
|
|
181
|
-
});
|
|
182
|
-
return formattedMessage;
|
|
183
|
-
}
|
|
184
|
-
logGradientTextToRoom(tideID, roomName, text, colors, direction = "to right", styles = {}) {
|
|
185
|
-
const loml = new Loml();
|
|
186
|
-
const formattedMessage = loml.gradientText(text, colors, direction, styles).build();
|
|
187
|
-
this.lomlLogging.emitToChannel(tideID, roomName, "log", {
|
|
188
|
-
message: formattedMessage
|
|
189
|
-
});
|
|
190
|
-
return formattedMessage;
|
|
191
|
-
}
|
|
192
|
-
logGradientTextToAll(text, colors, direction = "to right", styles = {}) {
|
|
193
|
-
const loml = new Loml();
|
|
194
|
-
const formattedMessage = loml.gradientText(text, colors, direction, styles).build();
|
|
195
|
-
this.lomlLogging.emit("log", {
|
|
196
|
-
message: formattedMessage
|
|
197
|
-
});
|
|
198
|
-
return formattedMessage;
|
|
199
|
-
}
|
|
200
|
-
logCustomElementToAll(tag, text, styles = {}) {
|
|
201
|
-
const loml = new Loml();
|
|
202
|
-
const formattedMessage = loml.element(tag, text, styles).build();
|
|
203
|
-
this.lomlLogging.emit("log", {
|
|
204
|
-
message: formattedMessage
|
|
205
|
-
});
|
|
206
|
-
return formattedMessage;
|
|
207
|
-
}
|
|
208
|
-
logCustomElementToRoom(tideID, roomName, tag, text, styles = {}) {
|
|
209
|
-
const loml = new Loml();
|
|
210
|
-
const formattedMessage = loml.element(tag, text, styles).build();
|
|
211
|
-
this.lomlLogging.emitToChannel(tideID, roomName, "log", {
|
|
212
|
-
message: formattedMessage
|
|
213
|
-
});
|
|
214
|
-
return formattedMessage;
|
|
215
|
-
}
|
|
216
|
-
logLineBreakToAll() {
|
|
217
|
-
const loml = new Loml();
|
|
218
|
-
const formattedMessage = loml.br().build();
|
|
219
|
-
this.lomlLogging.emit("log", {
|
|
220
|
-
message: formattedMessage
|
|
221
|
-
});
|
|
222
|
-
return formattedMessage;
|
|
223
|
-
}
|
|
224
|
-
logLineBreakToRoom(tideID, roomName) {
|
|
225
|
-
const loml = new Loml();
|
|
226
|
-
const formattedMessage = loml.br().build();
|
|
227
|
-
this.lomlLogging.emitToChannel(tideID, roomName, "log", {
|
|
228
|
-
message: formattedMessage
|
|
229
|
-
});
|
|
230
|
-
return formattedMessage;
|
|
231
|
-
}
|
|
232
|
-
logStyledMessageToAll(messageParts) {
|
|
233
|
-
const loml = new Loml();
|
|
234
|
-
messageParts.forEach(part => {
|
|
235
|
-
if (typeof loml[part.method] === "function") {
|
|
236
|
-
loml[part.method](...part.args);
|
|
237
|
-
}
|
|
238
|
-
});
|
|
239
|
-
const formattedMessage = loml.build();
|
|
240
|
-
this.lomlLogging.emit("log", {
|
|
241
|
-
message: formattedMessage
|
|
242
|
-
});
|
|
243
|
-
return formattedMessage;
|
|
244
|
-
}
|
|
245
|
-
logStyledMessageToRoom(tideID, roomName, messageParts) {
|
|
246
|
-
const loml = new Loml();
|
|
247
|
-
messageParts.forEach(part => {
|
|
248
|
-
if (typeof loml[part.method] === "function") {
|
|
249
|
-
loml[part.method](...part.args);
|
|
250
|
-
}
|
|
251
|
-
});
|
|
252
|
-
const formattedMessage = loml.build();
|
|
253
|
-
this.lomlLogging.emitToChannel(tideID, roomName, "log", {
|
|
254
|
-
message: formattedMessage
|
|
255
|
-
});
|
|
256
|
-
return formattedMessage;
|
|
257
|
-
}
|
|
258
|
-
logTextToSystem(text, styles = {}) {
|
|
259
|
-
const loml = new Loml();
|
|
260
|
-
const formattedMessage = loml.text(text, styles).build();
|
|
261
|
-
this.lomlLogging.emitTide("log", {
|
|
262
|
-
message: formattedMessage
|
|
263
|
-
});
|
|
264
|
-
return formattedMessage;
|
|
265
|
-
}
|
|
266
|
-
logBoldToSystem(text, styles = {}) {
|
|
267
|
-
const loml = new Loml();
|
|
268
|
-
const formattedMessage = loml.bold(text, styles).build();
|
|
269
|
-
this.lomlLogging.emitTide("log", {
|
|
270
|
-
message: formattedMessage
|
|
271
|
-
});
|
|
272
|
-
return formattedMessage;
|
|
273
|
-
}
|
|
274
|
-
logItalicToSystem(text, styles = {}) {
|
|
275
|
-
const loml = new Loml();
|
|
276
|
-
const formattedMessage = loml.italic(text, styles).build();
|
|
277
|
-
this.lomlLogging.emitTide("log", {
|
|
278
|
-
message: formattedMessage
|
|
279
|
-
});
|
|
280
|
-
return formattedMessage;
|
|
281
|
-
}
|
|
282
|
-
logLinkToSystem(text, href, styles = {}) {
|
|
283
|
-
const loml = new Loml();
|
|
284
|
-
const formattedMessage = loml.link(text, href, styles).build();
|
|
285
|
-
this.lomlLogging.emitTide("log", {
|
|
286
|
-
message: formattedMessage
|
|
287
|
-
});
|
|
288
|
-
return formattedMessage;
|
|
289
|
-
}
|
|
290
|
-
logColorToSystem(text, color, styles = {}) {
|
|
291
|
-
const loml = new Loml();
|
|
292
|
-
const formattedMessage = loml.color(text, color, styles).build();
|
|
293
|
-
this.lomlLogging.emitTide("log", {
|
|
294
|
-
message: formattedMessage
|
|
295
|
-
});
|
|
296
|
-
return formattedMessage;
|
|
297
|
-
}
|
|
298
|
-
logGradientTextToSystem(text, colors, direction = "to right", styles = {}) {
|
|
299
|
-
const loml = new Loml();
|
|
300
|
-
const formattedMessage = loml.gradientText(text, colors, direction, styles).build();
|
|
301
|
-
this.lomlLogging.emitTide("log", {
|
|
302
|
-
message: formattedMessage
|
|
303
|
-
});
|
|
304
|
-
return formattedMessage;
|
|
305
|
-
}
|
|
306
|
-
logCustomElementToSystem(tag, text, styles = {}) {
|
|
307
|
-
const loml = new Loml();
|
|
308
|
-
const formattedMessage = loml.element(tag, text, styles).build();
|
|
309
|
-
this.lomlLogging.emitTide("log", {
|
|
310
|
-
message: formattedMessage
|
|
311
|
-
});
|
|
312
|
-
return formattedMessage;
|
|
313
|
-
}
|
|
314
|
-
logLineBreakToSystem() {
|
|
315
|
-
const loml = new Loml();
|
|
316
|
-
const formattedMessage = loml.br().build();
|
|
317
|
-
this.lomlLogging.emitTide("log", {
|
|
318
|
-
message: formattedMessage
|
|
319
|
-
});
|
|
320
|
-
return formattedMessage;
|
|
321
|
-
}
|
|
322
|
-
logStyledMessageToSystem(messageParts) {
|
|
323
|
-
const loml = new Loml();
|
|
324
|
-
messageParts.forEach(part => {
|
|
325
|
-
if (typeof loml[part.method] === "function") {
|
|
326
|
-
loml[part.method](...part.args);
|
|
327
|
-
}
|
|
328
|
-
});
|
|
329
|
-
const formattedMessage = loml.build();
|
|
330
|
-
this.lomlLogging.emitTide("log", {
|
|
331
|
-
message: formattedMessage
|
|
332
|
-
});
|
|
333
|
-
return formattedMessage;
|
|
334
|
-
}
|
|
335
|
-
static log(options = {}) {
|
|
336
|
-
const {
|
|
337
|
-
text = "Sample text",
|
|
338
|
-
type = "text",
|
|
339
|
-
direction = "to right",
|
|
340
|
-
colors = [],
|
|
341
|
-
styles = {},
|
|
342
|
-
href = "",
|
|
343
|
-
tag = "span",
|
|
344
|
-
logToConsole = true
|
|
345
|
-
} = options;
|
|
346
|
-
const loml = new Loml();
|
|
347
|
-
let formattedMessage;
|
|
348
|
-
switch (type) {
|
|
349
|
-
case "text":
|
|
350
|
-
formattedMessage = loml.text(text, styles).build();
|
|
351
|
-
break;
|
|
352
|
-
case "bold":
|
|
353
|
-
formattedMessage = loml.bold(text, styles).build();
|
|
354
|
-
break;
|
|
355
|
-
case "italic":
|
|
356
|
-
formattedMessage = loml.italic(text, styles).build();
|
|
357
|
-
break;
|
|
358
|
-
case "link":
|
|
359
|
-
formattedMessage = loml.link(text, href, styles).build();
|
|
360
|
-
break;
|
|
361
|
-
case "color":
|
|
362
|
-
formattedMessage = loml.color(text, styles.color, styles).build();
|
|
363
|
-
break;
|
|
364
|
-
case "gradientText":
|
|
365
|
-
formattedMessage = loml.gradientText(text, colors, direction, styles).build();
|
|
366
|
-
break;
|
|
367
|
-
case "customElement":
|
|
368
|
-
formattedMessage = loml.element(tag, text, styles).build();
|
|
369
|
-
break;
|
|
370
|
-
default:
|
|
371
|
-
formattedMessage = loml.text(text, styles).build();
|
|
372
|
-
}
|
|
373
|
-
if (logToConsole) {
|
|
374
|
-
console.log(`${type.charAt(0).toUpperCase() + type.slice(1)} Log:`, formattedMessage);
|
|
375
|
-
}
|
|
376
|
-
return formattedMessage;
|
|
377
|
-
}
|
|
378
|
-
}
|
|
379
|
-
module.exports = LomlLoggingSystem;
|