in src/firefox/preferences.js [119:153]
export function coerceCLICustomPreference(cliPrefs) {
const customPrefs = {};
for (const pref of cliPrefs) {
const prefsAry = pref.split('=');
if (prefsAry.length < 2) {
throw new UsageError(
`Incomplete custom preference: "${pref}". ` +
'Syntax expected: "prefname=prefvalue".',
);
}
const key = prefsAry[0];
let value = prefsAry.slice(1).join('=');
if (/[^\w{@}.-]/.test(key)) {
throw new UsageError(`Invalid custom preference name: ${key}`);
}
if (value === `${parseInt(value)}`) {
value = parseInt(value, 10);
} else if (value === 'true' || value === 'false') {
value = value === 'true';
}
if (nonOverridablePreferences.includes(key)) {
log.warn(`'${key}' preference cannot be customized.`);
continue;
}
customPrefs[`${key}`] = value;
}
return customPrefs;
}