Skip to content

Commit cdc1909

Browse files
committed
keywords applies to children fixes
1 parent 56bf219 commit cdc1909

File tree

1 file changed

+22
-2
lines changed
  • tools/apiview/parsers/js-api-parser/src/tokenGenerators

1 file changed

+22
-2
lines changed

tools/apiview/parsers/js-api-parser/src/tokenGenerators/helpers.ts

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,8 +143,8 @@ export function processExcerptTokens(
143143
*/
144144
function createIndentation(depth: number, deprecated?: boolean): ReviewToken | undefined {
145145
if (depth <= 0) return undefined;
146-
const tabs = "\t".repeat(depth);
147-
return createToken(TokenKind.Text, tabs, { deprecated });
146+
const spaces = " ".repeat(depth * 4); // 8 spaces per level
147+
return createToken(TokenKind.Text, spaces, { deprecated });
148148
}
149149

150150
/**
@@ -181,6 +181,8 @@ export function buildTypeNodeTokens(
181181
const closingTokens: ReviewToken[] = [];
182182
const closingIndent = createIndentation(depth, deprecated);
183183
if (closingIndent) closingTokens.push(closingIndent);
184+
// ensure 4 spaces before '}'
185+
closingTokens.push(createToken(TokenKind.Punctuation, " ", { deprecated }));
184186
closingTokens.push(createToken(TokenKind.Punctuation, "}", { deprecated }));
185187
closingTokens.push(createToken(TokenKind.Punctuation, ";", { deprecated }));
186188

@@ -288,6 +290,17 @@ export function buildTypeElementTokens(
288290
deprecated?: boolean,
289291
depth: number = 0,
290292
): ReviewLine[] | undefined {
293+
// Handle modifiers (readonly, static, etc.)
294+
const modifiers = ts.canHaveModifiers(member) ? ts.getModifiers(member) : undefined;
295+
if (modifiers) {
296+
for (const modifier of modifiers) {
297+
const modifierText = modifier.getText();
298+
tokens.push(
299+
createToken(TokenKind.Keyword, modifierText, { hasSuffixSpace: true, deprecated }),
300+
);
301+
}
302+
}
303+
291304
if (ts.isPropertySignature(member)) {
292305
const name = member.name.getText();
293306
tokens.push(createToken(TokenKind.MemberName, name, { deprecated }));
@@ -328,6 +341,13 @@ export function buildTypeElementTokens(
328341
}
329342
return children;
330343
}
344+
} else if (ts.isMethodSignature(member)) {
345+
// Handle method signatures if needed
346+
const name = member.name.getText();
347+
tokens.push(createToken(TokenKind.MemberName, name, { deprecated }));
348+
// Add method signature handling as needed...
349+
tokens.push(createToken(TokenKind.Punctuation, ";", { deprecated }));
350+
return undefined;
331351
}
332352

333353
tokens.push(createToken(TokenKind.Punctuation, ";", { deprecated }));

0 commit comments

Comments
 (0)