Lightcord/modules/discord_desktop_core/core/app/discord_native/browser/app.js

144 lines
3.9 KiB
JavaScript

'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.injectBuildInfo = injectBuildInfo;
exports.injectModuleUpdater = injectModuleUpdater;
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
const electron = require('electron');
const {
APP_GET_RELEASE_CHANNEL_SYNC,
APP_GET_HOST_VERSION_SYNC,
APP_GET_MODULE_VERSIONS,
APP_GET_PATH,
APP_SET_BADGE_COUNT,
APP_DOCK_SET_BADGE,
APP_DOCK_BOUNCE,
APP_DOCK_CANCEL_BOUNCE,
APP_RELAUNCH,
APP_GET_DEFAULT_DOUBLE_CLICK_ACTION
} = require('../common/constants').IPCEvents;
let injectedBuildInfo = null;
let injectedModuleUpdater = null;
function injectBuildInfo(buildInfo) {
injectedBuildInfo = buildInfo;
}
function injectModuleUpdater(moduleUpdater) {
injectedModuleUpdater = moduleUpdater;
}
electron.ipcMain.on(APP_GET_RELEASE_CHANNEL_SYNC, event => {
event.returnValue = injectedBuildInfo.releaseChannel;
});
electron.ipcMain.on(APP_GET_HOST_VERSION_SYNC, event => {
// hardcode because Discord could identify Lightcord or could simply bug.
if(process.platform === "darwin")
event.returnValue = "0.0.259";
else if(process.platform === "linux")
event.returnValue = "0.0.12";
else
event.returnValue = "0.0.308"; //electron.app.getVersion();
});
electron.ipcMain.handle(APP_GET_MODULE_VERSIONS, (() => {
var _ref = _asyncToGenerator(function* (_) {
const versions = {};
const installed = injectedModuleUpdater != null ? injectedModuleUpdater.getInstalled() : {};
for (const name of Object.keys(installed)) {
versions[name] = installed[name].installedVersion;
}
return versions;
});
return function (_x) {
return _ref.apply(this, arguments);
};
})());
electron.ipcMain.handle(APP_GET_PATH, (() => {
var _ref2 = _asyncToGenerator(function* (_, path) {
return electron.app.getPath(path);
});
return function (_x2, _x3) {
return _ref2.apply(this, arguments);
};
})());
electron.ipcMain.handle(APP_SET_BADGE_COUNT, (() => {
var _ref3 = _asyncToGenerator(function* (_, count) {
electron.app.setBadgeCount(count);
});
return function (_x4, _x5) {
return _ref3.apply(this, arguments);
};
})());
electron.ipcMain.handle(APP_DOCK_SET_BADGE, (() => {
var _ref4 = _asyncToGenerator(function* (_, badge) {
if (electron.app.dock != null) {
electron.app.dock.setBadge(badge);
}
});
return function (_x6, _x7) {
return _ref4.apply(this, arguments);
};
})());
electron.ipcMain.handle(APP_DOCK_BOUNCE, (() => {
var _ref5 = _asyncToGenerator(function* (_, type) {
if (electron.app.dock != null) {
return electron.app.dock.bounce(type);
} else {
return -1;
}
});
return function (_x8, _x9) {
return _ref5.apply(this, arguments);
};
})());
electron.ipcMain.handle(APP_DOCK_CANCEL_BOUNCE, (() => {
var _ref6 = _asyncToGenerator(function* (_, id) {
if (electron.app.dock != null) {
electron.app.dock.cancelBounce(id);
}
});
return function (_x10, _x11) {
return _ref6.apply(this, arguments);
};
})());
electron.ipcMain.handle(APP_RELAUNCH, (() => {
var _ref7 = _asyncToGenerator(function* (_) {
electron.app.relaunch();
electron.app.exit(0);
});
return function (_x12) {
return _ref7.apply(this, arguments);
};
})());
electron.ipcMain.handle(APP_GET_DEFAULT_DOUBLE_CLICK_ACTION, (() => {
var _ref8 = _asyncToGenerator(function* (_) {
return electron.systemPreferences.getUserDefault('AppleActionOnDoubleClick', 'string');
});
return function (_x13) {
return _ref8.apply(this, arguments);
};
})());