1
1
const startCase = require ( 'lodash.startcase' )
2
2
3
- exports . makeSlug = parent => {
3
+ exports . makeSlug = ( parent ) => {
4
4
return `/${ parent . relativePath } `
5
5
. replace ( parent . ext , '' ) // remove file extension
6
6
. replace ( / \/ ? i n d e x $ / , '/' ) // change 'index' for trailing slash
7
7
. toLowerCase ( )
8
8
}
9
9
10
- const calculateTree = edges =>
10
+ const calculateTree = ( edges ) =>
11
11
edges . reduce (
12
12
( accu , { node : { id, slug, title, order } } ) => {
13
13
const parts = slug . split ( '/' )
@@ -37,23 +37,23 @@ const calculateTree = edges =>
37
37
slug,
38
38
label : startCase ( parts [ parts . length - 1 ] ) ,
39
39
items : [ ] ,
40
- info
40
+ info,
41
41
} )
42
42
}
43
43
return accu
44
44
} ,
45
45
{ slug : '/' , label : 'Index' , items : new Array ( ) }
46
46
)
47
47
48
- const itemOrder = item => ( item . info ? item . info . order : item . label )
48
+ const itemOrder = ( item ) => ( item . info ? item . info . order : item . label )
49
49
50
- const sortItems = items =>
50
+ const sortItems = ( items ) =>
51
51
items . sort ( ( a , b ) =>
52
52
itemOrder ( a ) . localeCompare ( itemOrder ( b ) , 'en' , { numeric : true } )
53
53
)
54
54
55
- const sortNode = node => {
56
- node . items . forEach ( node => sortNode ( node ) )
55
+ const sortNode = ( node ) => {
56
+ node . items . forEach ( ( node ) => sortNode ( node ) )
57
57
node . items = sortItems ( node . items )
58
58
return node
59
59
}
@@ -66,10 +66,10 @@ const flattenNode = (flattened, node) => {
66
66
if ( node . info ) {
67
67
flattened . push ( node . info )
68
68
}
69
- node . items . forEach ( item => flattenNode ( flattened , item ) )
69
+ node . items . forEach ( ( item ) => flattenNode ( flattened , item ) )
70
70
}
71
71
72
- exports . flattenTree = root => {
72
+ exports . flattenTree = ( root ) => {
73
73
const flattened = new Array ( )
74
74
flattenNode ( flattened , root )
75
75
return flattened
0 commit comments