Skip to content

Commit 32fb861

Browse files
committed
refactor: remove paragraphToString util
1 parent e585088 commit 32fb861

File tree

3 files changed

+22
-52
lines changed

3 files changed

+22
-52
lines changed

src/generators/llms-txt/utils/generateDocEntry.mjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1+
import { transformNodeToString } from '../../../utils/unist.mjs';
12
import { ENTRY_IGNORE_LIST, LATEST_DOC_API_BASE_URL } from '../constants.mjs';
2-
import { paragraphToString } from './paragraphToString.mjs';
33

44
/**
55
* Generates a documentation entry string
@@ -30,7 +30,7 @@ export function generateDocEntry(entry) {
3030
return `- ${entryLink}`;
3131
}
3232

33-
const description = paragraphToString(descriptionNode).replace(
33+
const description = transformNodeToString(descriptionNode).replace(
3434
/[\r\n]+/g,
3535
' '
3636
);

src/generators/llms-txt/utils/paragraphToString.mjs

Lines changed: 0 additions & 36 deletions
This file was deleted.

src/utils/unist.mjs

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,25 @@
22

33
import { pointEnd, pointStart } from 'unist-util-position';
44

5+
/**
6+
* Extracts text content from a node recursively
7+
*
8+
* @param {import('unist').Node} node The Node to be transformed into a string
9+
* @returns {string} The transformed Node as a string
10+
*/
11+
export const transformNodeToString = node => {
12+
switch (node.type) {
13+
case 'inlineCode':
14+
return `\`${node.value}\``;
15+
case 'strong':
16+
return `**${transformNodesToString(node.children)}**`;
17+
case 'emphasis':
18+
return `_${transformNodesToString(node.children)}_`;
19+
default:
20+
return node.children ? transformNodesToString(node.children) : node.value;
21+
}
22+
};
23+
524
/**
625
* This utility allows us to join children Nodes into one
726
* and transfor them back to what their source would look like
@@ -10,20 +29,7 @@ import { pointEnd, pointStart } from 'unist-util-position';
1029
* @returns {string} The parsed and joined nodes as a string
1130
*/
1231
export const transformNodesToString = nodes => {
13-
const mappedChildren = nodes.map(node => {
14-
switch (node.type) {
15-
case 'inlineCode':
16-
return `\`${node.value}\``;
17-
case 'strong':
18-
return `**${transformNodesToString(node.children)}**`;
19-
case 'emphasis':
20-
return `_${transformNodesToString(node.children)}_`;
21-
default:
22-
return node.children
23-
? transformNodesToString(node.children)
24-
: node.value;
25-
}
26-
});
32+
const mappedChildren = nodes.map(node => transformNodeToString(node));
2733

2834
return mappedChildren.join('');
2935
};

0 commit comments

Comments
 (0)