ipc.js
1.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
'use strict';
var transform = require('../transform');
var electronApi = require('../electronApi');
var log = require('../log.js');
module.exports = ipcTransportFactory;
function ipcTransportFactory(electronLog) {
transport.eventId = '__ELECTRON_LOG_IPC_' + electronLog.logId + '__';
transport.level = electronLog.isDev ? 'silly' : false;
// Prevent problems when there are multiple instances after webpack
if (electronApi.isIpcChannelListened(transport.eventId)) {
return function () {};
}
electronApi.onIpc(transport.eventId, function (_, message) {
message.date = new Date(message.date);
log.runTransport(
electronLog.transports.console,
message,
electronLog
);
});
electronApi.loadRemoteModule('electron-log');
return electronApi.isElectron() ? transport : null;
function transport(message) {
var ipcMessage = Object.assign({}, message, {
data: transform.transform(message, [
transform.toJSON,
transform.maxDepthFactory(3),
]),
});
electronApi.sendIpc(transport.eventId, ipcMessage);
}
}