Skip to content

Commit fb27735

Browse files
committed
refactor: extract parameter formatting into internal helper function
1 parent 9641d31 commit fb27735

1 file changed

Lines changed: 18 additions & 21 deletions

File tree

plugins/theme/partials/index.mjs

Lines changed: 18 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,17 @@ const STATIC_PREFIX = {
1414
[ReflectionKind.Method]: "Static method",
1515
};
1616

17+
const formatParams = (params = []) =>
18+
params
19+
.map((param, index) => {
20+
if (param.flags?.isOptional) {
21+
return index === 0 ? `[${param.name}]` : `[, ${param.name}]`;
22+
}
23+
24+
return index === 0 ? param.name : `, ${param.name}`;
25+
})
26+
.join("");
27+
1728
export const getMemberPrefix = (model) => {
1829
const prefix = model.flags?.isStatic
1930
? STATIC_PREFIX[model.kind]
@@ -65,41 +76,27 @@ export default (ctx) => ({
6576
},
6677

6778
memberTitle(model) {
79+
if (model.kind === ReflectionKind.Constructor) {
80+
const params = model.signatures?.[0]?.parameters ?? [];
81+
return `\`new ${model.parent.name}(${formatParams(params)})\``;
82+
}
83+
6884
const prefix = getMemberPrefix(model);
6985
const params = model.signatures?.[0]?.parameters;
7086

7187
if (!params) {
7288
return `${prefix}\`${model.name}\``;
7389
}
7490

75-
const paramsString = params
76-
.map((param, index) => {
77-
const paramName = param.name;
78-
if (param.flags?.isOptional) {
79-
// For optional params, wrap comma + name in brackets (except for first param)
80-
return index === 0 ? `[${paramName}]` : `[, ${paramName}]`;
81-
} else {
82-
// For required params, add comma separator (except for first param)
83-
return index === 0 ? paramName : `, ${paramName}`;
84-
}
85-
})
86-
.join("");
91+
const paramsString = formatParams(params);
8792

8893
return `${prefix}\`${model.name}(${paramsString})\``;
8994
},
9095

9196
constructor(model, options) {
9297
const md = [];
9398
model.signatures?.forEach((signature) => {
94-
const params = signature.parameters ?? [];
95-
const paramsString = params
96-
.map((param, index) => {
97-
if (param.flags?.isOptional) {
98-
return index === 0 ? `[${param.name}]` : `[, ${param.name}]`;
99-
}
100-
return index === 0 ? param.name : `, ${param.name}`;
101-
})
102-
.join("");
99+
const paramsString = formatParams(signature.parameters ?? []);
103100

104101
const heading = "#".repeat(options.headingLevel);
105102
md.push(`${heading} \`new ${model.parent.name}(${paramsString})\``);

0 commit comments

Comments
 (0)