2020-12-12 11:56:28 +01:00
|
|
|
"use strict";
|
2020-06-06 12:51:51 +02:00
|
|
|
|
2020-12-12 11:56:28 +01:00
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
|
|
value: true
|
|
|
|
});
|
|
|
|
exports.flatten = flatten;
|
|
|
|
exports.reconcileCrashReporterMetadata = reconcileCrashReporterMetadata;
|
2020-06-06 12:51:51 +02:00
|
|
|
|
2020-12-12 11:56:28 +01:00
|
|
|
const {
|
|
|
|
getElectronMajorVersion
|
|
|
|
} = require('./processUtils');
|
2020-06-06 12:51:51 +02:00
|
|
|
|
2020-06-27 21:02:48 +02:00
|
|
|
function flatten(metadata, prefix, root) {
|
|
|
|
root = root ? root : {};
|
|
|
|
prefix = prefix ? prefix : '';
|
|
|
|
|
|
|
|
if (typeof metadata === 'object') {
|
|
|
|
for (const key in metadata) {
|
|
|
|
const next_prefix = prefix === '' ? key : `${prefix}[${key}]`;
|
|
|
|
flatten(metadata[key], next_prefix, root);
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
root[prefix] = metadata;
|
|
|
|
}
|
|
|
|
|
|
|
|
return root;
|
|
|
|
}
|
|
|
|
|
|
|
|
function reconcileCrashReporterMetadata(crashReporter, metadata) {
|
2020-12-12 11:56:28 +01:00
|
|
|
if (getElectronMajorVersion() < 8) {
|
2020-06-27 21:02:48 +02:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
const new_metadata = flatten(metadata);
|
|
|
|
const old_metadata = crashReporter.getParameters();
|
|
|
|
|
|
|
|
for (const key in old_metadata) {
|
|
|
|
if (!new_metadata.hasOwnProperty(key)) {
|
|
|
|
crashReporter.removeExtraParameter(key);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
for (const key in new_metadata) {
|
|
|
|
if (!old_metadata.hasOwnProperty(key)) {
|
|
|
|
crashReporter.addExtraParameter(key, new_metadata[key]);
|
|
|
|
}
|
|
|
|
}
|
2020-12-12 11:56:28 +01:00
|
|
|
}
|