Remove more Array#reduce() (#10907)
This commit is contained in:
1 parent
c40a0cf2b8
commit
c286d847d9
3 files changed
+20
-20
No files matched your search
@@ -1,17 +1,18 @@
|
||||
import path from "node:path";
|
||||
|
||||
export default function (modules = []) {
|
||||
const requires = modules.reduce((obj, mod) => {
|
||||
obj[mod] = path.basename(mod).replace(/\.js$/, "");
|
||||
return obj;
|
||||
}, {});
|
||||
const requires = new Map(
|
||||
modules.map((mod) => [mod, path.basename(mod).replace(/\.js$/, "")])
|
||||
);
|
||||
|
||||
return {
|
||||
name: "externals",
|
||||
|
||||
load(importee) {
|
||||
if (requires[importee]) {
|
||||
return `module.exports = eval("require")("./${requires[importee]}");`;
|
||||
if (requires.has(importee)) {
|
||||
return `module.exports = eval("require")("./${requires.get(
|
||||
importee
|
||||
)}");`;
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
@@ -46,10 +46,9 @@ const categories = [
|
||||
{ dir: "cli", title: "CLI" },
|
||||
];
|
||||
|
||||
const categoriesByDir = categories.reduce((result, category) => {
|
||||
result[category.dir] = category;
|
||||
return result;
|
||||
}, {});
|
||||
const categoriesByDir = new Map(
|
||||
categories.map((category) => [category.dir, category])
|
||||
);
|
||||
|
||||
const dirs = fs
|
||||
.readdirSync(changelogUnreleasedDir, { withFileTypes: true })
|
||||
@@ -57,7 +56,7 @@ const dirs = fs
|
||||
|
||||
for (const dir of dirs) {
|
||||
const dirPath = path.join(changelogUnreleasedDir, dir.name);
|
||||
const category = categoriesByDir[dir.name];
|
||||
const category = categoriesByDir.get(dir.name);
|
||||
|
||||
if (!category) {
|
||||
throw new Error("Unknown category: " + dir.name);
|
||||
|
||||
@@ -13,13 +13,14 @@ describe("CLI --support-info", () => {
|
||||
|
||||
function getCoreInfo() {
|
||||
const supportInfo = prettier.getSupportInfo();
|
||||
const languages = supportInfo.languages.reduce(
|
||||
(obj, language) => ({ [language.name]: language.parsers, ...obj }),
|
||||
{}
|
||||
const languages = Object.fromEntries(
|
||||
supportInfo.languages.map(({ name, parsers }) => [name, parsers])
|
||||
);
|
||||
const options = supportInfo.options.reduce(
|
||||
(obj, option) => ({
|
||||
[option.name]: {
|
||||
|
||||
const options = Object.fromEntries(
|
||||
supportInfo.options.map((option) => [
|
||||
option.name,
|
||||
{
|
||||
type: option.type,
|
||||
default: option.default,
|
||||
...(option.type === "int"
|
||||
@@ -28,9 +29,8 @@ function getCoreInfo() {
|
||||
? { choices: option.choices.map((choice) => choice.value) }
|
||||
: null),
|
||||
},
|
||||
...obj,
|
||||
}),
|
||||
{}
|
||||
])
|
||||
);
|
||||
|
||||
return { languages, options };
|
||||
}
|
||||
Reference in new issue
Block a user