refactor: use Set instead of Array when appropriate (#39324)

This commit is contained in:
Milan Burda 2023-08-03 14:29:57 +02:00 committed by GitHub
parent c5e50e4882
commit fe93f69e5a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 7 additions and 7 deletions

View file

@ -146,14 +146,14 @@ require('@electron/internal/browser/api/web-frame-main');
// Set main startup script of the app. // Set main startup script of the app.
const mainStartupScript = packageJson.main || 'index.js'; const mainStartupScript = packageJson.main || 'index.js';
const KNOWN_XDG_DESKTOP_VALUES = ['Pantheon', 'Unity:Unity7', 'pop:GNOME']; const KNOWN_XDG_DESKTOP_VALUES = new Set(['Pantheon', 'Unity:Unity7', 'pop:GNOME']);
function currentPlatformSupportsAppIndicator () { function currentPlatformSupportsAppIndicator () {
if (process.platform !== 'linux') return false; if (process.platform !== 'linux') return false;
const currentDesktop = process.env.XDG_CURRENT_DESKTOP; const currentDesktop = process.env.XDG_CURRENT_DESKTOP;
if (!currentDesktop) return false; if (!currentDesktop) return false;
if (KNOWN_XDG_DESKTOP_VALUES.includes(currentDesktop)) return true; if (KNOWN_XDG_DESKTOP_VALUES.has(currentDesktop)) return true;
// ubuntu based or derived session (default ubuntu one, communitheme…) supports // ubuntu based or derived session (default ubuntu one, communitheme…) supports
// indicator too. // indicator too.
if (/ubuntu/ig.test(currentDesktop)) return true; if (/ubuntu/ig.test(currentDesktop)) return true;

View file

@ -26,7 +26,7 @@ const keysOfTypeNumberCompileTimeCheck: { [K in IntegerBrowserWindowOptionKeys]
}; };
// Note `top` / `left` are special cases from the browser which we later convert // Note `top` / `left` are special cases from the browser which we later convert
// to y / x. // to y / x.
const keysOfTypeNumber = ['top', 'left', ...Object.keys(keysOfTypeNumberCompileTimeCheck)]; const keysOfTypeNumber = new Set(['top', 'left', ...Object.keys(keysOfTypeNumberCompileTimeCheck)]);
/** /**
* Note that we only allow "0" and "1" boolean conversion when the type is known * Note that we only allow "0" and "1" boolean conversion when the type is known
@ -37,7 +37,7 @@ const keysOfTypeNumber = ['top', 'left', ...Object.keys(keysOfTypeNumberCompileT
*/ */
type CoercedValue = string | number | boolean; type CoercedValue = string | number | boolean;
function coerce (key: string, value: string): CoercedValue { function coerce (key: string, value: string): CoercedValue {
if (keysOfTypeNumber.includes(key)) { if (keysOfTypeNumber.has(key)) {
return parseInt(value, 10); return parseInt(value, 10);
} }

View file

@ -108,12 +108,12 @@ async function main () {
const onlyTests = args.only && args.only.split(','); const onlyTests = args.only && args.only.split(',');
const DISABLED_TESTS = [ const DISABLED_TESTS = new Set([
'nannew-test.js', 'nannew-test.js',
'buffer-test.js' 'buffer-test.js'
]; ]);
const testsToRun = fs.readdirSync(path.resolve(NAN_DIR, 'test', 'js')) const testsToRun = fs.readdirSync(path.resolve(NAN_DIR, 'test', 'js'))
.filter(test => !DISABLED_TESTS.includes(test)) .filter(test => !DISABLED_TESTS.has(test))
.filter(test => { .filter(test => {
return !onlyTests || onlyTests.includes(test) || onlyTests.includes(test.replace('.js', '')) || onlyTests.includes(test.replace('-test.js', '')); return !onlyTests || onlyTests.includes(test) || onlyTests.includes(test.replace('.js', '')) || onlyTests.includes(test.replace('-test.js', ''));
}) })