@@ -9,14 +9,9 @@ import { Entry, MenuItem, doczState } from '../state'
9
9
10
10
const noMenu = ( entry : Entry ) => ! entry . menu
11
11
const fromMenu = ( menu : string ) => ( entry : Entry ) => entry . menu === menu
12
- const entryAsMenu = ( entry : Entry ) => ( {
13
- name : entry . name ,
14
- route : entry . route ,
15
- parent : entry . parent ,
16
- } )
17
12
18
13
const entriesOfMenu = ( menu : string , entries : Entry [ ] ) =>
19
- entries . filter ( fromMenu ( menu ) ) . map ( entryAsMenu )
14
+ entries . filter ( fromMenu ( menu ) )
20
15
21
16
const parseMenu = ( entries : Entry [ ] ) => ( name : string ) => ( {
22
17
name,
@@ -26,9 +21,9 @@ const parseMenu = (entries: Entry[]) => (name: string) => ({
26
21
type Menus = MenuItem [ ]
27
22
28
23
const menusFromEntries = ( entries : Entry [ ] ) => {
29
- const entriesWithoutMenu = entries . filter ( noMenu ) . map ( entryAsMenu ) as any
24
+ const entriesWithoutMenu = entries . filter ( noMenu )
30
25
const menus = flatArrFromObject ( entries , 'menu' ) . map ( parseMenu ( entries ) )
31
- return unionBy ( 'name' , menus , entriesWithoutMenu )
26
+ return unionBy ( 'name' , menus , entriesWithoutMenu as any )
32
27
}
33
28
34
29
const parseItemStr = ( item : MenuItem | string ) =>
@@ -135,11 +130,11 @@ export const useMenus = (opts?: UseMenusParams) => {
135
130
const { entries, config } = useContext ( doczState . context )
136
131
if ( ! entries ) return null
137
132
138
- const arr = entries . map ( ( { value } ) => value )
133
+ const arr = entries . map ( ( { value } ) => value ) as Entry [ ]
139
134
const entriesMenu = menusFromEntries ( arr )
140
135
const sorted = useMemo ( ( ) => {
141
- const merged = mergeMenus ( entriesMenu as MenuItem [ ] , config . menu )
142
- const result = sortMenus ( merged , config . menu )
136
+ const merged = mergeMenus ( entriesMenu as any [ ] , config . menu )
137
+ const result = sortMenus ( merged , config . menu ) as MenuItem [ ]
143
138
return filterMenus ( result , opts && opts . filter )
144
139
} , [ entries , config ] )
145
140
0 commit comments