Skip to content

Commit cd1d484

Browse files
committed
refactor(#141): group functions below data
1 parent 54ee513 commit cd1d484

1 file changed

Lines changed: 27 additions & 29 deletions

File tree

src/parser/alerts.ts

Lines changed: 27 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,33 @@ import { existsSync, readFileSync } from 'fs';
1515
import { homedir } from 'os';
1616
import path from 'path';
1717

18-
const warnAndFallback = (message: string): string => {
19-
return `<script>console.warn("${message}");</script>${fallbackIcon}`;
18+
const githubAlertsIcons: Record<string, string> = {
19+
note: 'info',
20+
tip: 'light-bulb',
21+
important: 'report',
22+
warning: 'alert',
23+
caution: 'stop',
24+
};
25+
const mergedIcons = {
26+
...githubAlertsIcons,
27+
...config.alertsOptions?.icons,
2028
};
2129

30+
const fallbackIconOpt = config.alertsOptions?.fallbackIcon ?? mergedIcons['note'];
31+
const fallbackIcon = resolveIcon(fallbackIconOpt);
32+
const resolvedIcons: Record<string, string> = {};
33+
const titles = config.alertsOptions?.titles ?? {};
34+
35+
for (const marker in mergedIcons) {
36+
resolvedIcons[marker] = resolveIcon(mergedIcons[marker]);
37+
}
38+
39+
function warnAndFallback(message: string): string {
40+
return `<script>console.warn("${message}");</script>${fallbackIcon}`;
41+
}
42+
2243
// Resolve option from alertsOptions.icons into raw svg tag
23-
const resolveIcon = (iconOpt: string): string => {
44+
function resolveIcon(iconOpt: string): string {
2445
// Case 1: already a raw svg tag
2546
if (iconOpt.startsWith('<svg')) {
2647
return iconOpt;
@@ -54,29 +75,10 @@ const resolveIcon = (iconOpt: string): string => {
5475
return warnAndFallback(`Not a known octicon name: ${iconOpt}`);
5576
}
5677
return octicon;
57-
};
58-
59-
const titles = config.alertsOptions?.titles ?? {};
60-
61-
const githubAlertsIcons: Record<string, string> = {
62-
note: 'info',
63-
tip: 'light-bulb',
64-
important: 'report',
65-
warning: 'alert',
66-
caution: 'stop',
67-
};
68-
const mergedIcons = {
69-
...githubAlertsIcons,
70-
...config.alertsOptions?.icons,
71-
};
72-
73-
const fallbackIconOpt = config.alertsOptions?.fallbackIcon ?? mergedIcons['note'];
74-
const fallbackIcon = resolveIcon(fallbackIconOpt);
75-
76-
const resolvedIcons: Record<string, string> = {};
78+
}
7779

78-
for (const marker in mergedIcons) {
79-
resolvedIcons[marker] = resolveIcon(mergedIcons[marker]);
80+
function capitalize(str: string): string {
81+
return str.charAt(0).toUpperCase() + str.slice(1);
8082
}
8183

8284
const MarkdownItAlerts = (md: MarkdownIt) => {
@@ -124,9 +126,5 @@ const MarkdownItAlerts = (md: MarkdownIt) => {
124126
};
125127
};
126128

127-
const capitalize = (str: string) => {
128-
return str.charAt(0).toUpperCase() + str.slice(1);
129-
};
130-
131129
export default MarkdownItAlerts;
132130
export { resolveIcon }; // Exported for unit test

0 commit comments

Comments
 (0)