@@ -3,30 +3,33 @@ import remarkGfm from 'remark-gfm';
3
3
import remarkParse from 'remark-parse' ;
4
4
import remarkStringify from 'remark-stringify' ;
5
5
import { unified } from 'unified' ;
6
+ import type { Node } from 'unist' ;
6
7
import { visit } from 'unist-util-visit' ;
7
8
8
9
import { LocaleObj } from '@/types' ;
9
10
import { checkMdString } from '@/utils/checkMdString' ;
10
11
11
- // @ts -ignore
12
- export const convertMarkdownToMdast = async ( md : string ) => {
13
- // @ts -ignore
14
- return unified ( ) . use ( remarkParse ) . use ( remarkGfm ) . use ( remarkFrontmatter ) . parse ( md . trim ( ) ) ;
12
+ export const convertMarkdownToMdast = async ( md : string ) : Promise < Node > => {
13
+ return unified ( )
14
+ . use ( remarkParse as any )
15
+ . use ( remarkGfm as any )
16
+ . use ( remarkFrontmatter as any )
17
+ . parse ( md . trim ( ) ) ;
15
18
} ;
16
19
17
- export const convertMdastToMdastObj = ( mdast : any , check ?: string [ ] ) => {
20
+ export const convertMdastToMdastObj = ( mdast : Node , check ?: string [ ] ) : LocaleObj => {
18
21
const obj : LocaleObj = { } ;
19
22
let index = 0 ;
20
23
21
- visit ( mdast , check || 'text' , ( node ) => {
24
+ visit ( mdast , check || 'text' , ( node : any ) => {
22
25
obj [ index ] = node . value ;
23
26
index ++ ;
24
27
} ) ;
25
28
26
29
return obj ;
27
30
} ;
28
31
29
- export const pickMdastObj = ( entry : LocaleObj ) => {
32
+ export const pickMdastObj = ( entry : LocaleObj ) : LocaleObj => {
30
33
const obj : LocaleObj = { } ;
31
34
for ( const [ key , value ] of Object . entries ( entry ) ) {
32
35
if ( checkMdString ( value as string ) ) continue ;
@@ -36,14 +39,14 @@ export const pickMdastObj = (entry: LocaleObj) => {
36
39
} ;
37
40
38
41
export const mergeMdastObj = (
39
- { mdast, entry, target } : { entry : LocaleObj ; mdast : any ; target : LocaleObj } ,
42
+ { mdast, entry, target } : { entry : LocaleObj ; mdast : Node ; target : LocaleObj } ,
40
43
check ?: string [ ] ,
41
44
) => {
42
45
const merged = { ...entry , ...target } ;
43
46
44
47
let index = 0 ;
45
48
46
- visit ( mdast , check || 'text' , ( node ) => {
49
+ visit ( mdast , check || 'text' , ( node : any ) => {
47
50
node . value = merged [ index ] ;
48
51
index ++ ;
49
52
} ) ;
@@ -52,23 +55,18 @@ export const mergeMdastObj = (
52
55
} ;
53
56
54
57
export const convertMdastToMarkdown = async ( json : any ) : Promise < string > => {
55
- // @ts -ignore
56
- return (
57
- unified ( )
58
- // @ts -ignore
59
- . use ( remarkStringify , {
60
- bullet : '-' ,
61
- emphasis : '*' ,
62
- fences : true ,
63
- listItemIndent : 1 ,
64
- rule : '-' ,
65
- strong : '*' ,
66
- tightDefinitions : true ,
67
- } )
68
- // @ts -ignore
69
- . use ( remarkFrontmatter )
70
- // @ts -ignore
71
- . use ( remarkGfm )
72
- . stringify ( json )
73
- ) ;
58
+ return unified ( )
59
+ . use ( remarkStringify as any , {
60
+ bullet : '-' ,
61
+ emphasis : '*' ,
62
+ fences : true ,
63
+ listItemIndent : 1 ,
64
+ rule : '-' ,
65
+ strong : '*' ,
66
+ tightDefinitions : true ,
67
+ } )
68
+ . use ( remarkFrontmatter as any )
69
+ . use ( remarkGfm as any )
70
+ . stringify ( json )
71
+ . toString ( ) ;
74
72
} ;
0 commit comments