36 lines
1.0 KiB
JavaScript
36 lines
1.0 KiB
JavaScript
const integration = require("./src/integration");
|
|
const hardware = require("./src/hardware");
|
|
const webview = require("./src/webview");
|
|
const { app } = require("electron");
|
|
|
|
/**
|
|
* This promise resolves when the app has finished initializing,
|
|
* allowing to safely create browser windows and perform other
|
|
* initialization tasks.
|
|
*/
|
|
app.whenReady().then(() => {
|
|
const args = parseArgs(process);
|
|
webview.init(args) && hardware.init(args) && integration.init(args);
|
|
});
|
|
|
|
/**
|
|
* Parses command-line arguments from the given process object.
|
|
*
|
|
* @param {Object} proc - The process object.
|
|
* @returns {Object} An object mapping argument names to their corresponding values.
|
|
*/
|
|
const parseArgs = (proc) => {
|
|
let argv = proc.argv.slice(1).join(" ").trim();
|
|
if (argv.length && argv[0] == ".") {
|
|
argv = argv.slice(1);
|
|
}
|
|
argv = argv.replace(/--|=/g, " ").replace(/\s+/g, " ");
|
|
argv = argv.trim().split(" ");
|
|
argv = argv.reduce(
|
|
(args, k, i, v) =>
|
|
i % 2 ? args : { ...args, [k.replace("-", "_")]: v[i + 1] },
|
|
{}
|
|
);
|
|
return argv;
|
|
};
|