@@ -41,7 +41,7 @@ export const getCanonical = (path = ''): string | URL => {
41
41
/** */
42
42
export const getPermalink = ( slug = '' , type = 'page' ) : string => {
43
43
let permalink : string ;
44
-
44
+
45
45
if (
46
46
slug . startsWith ( 'https://' ) ||
47
47
slug . startsWith ( 'http://' ) ||
@@ -104,28 +104,29 @@ export const getAsset = (path: string): string =>
104
104
const definitivePermalink = ( permalink : string ) : string => createPath ( BASE_PATHNAME , permalink ) ;
105
105
106
106
/** */
107
- export const applyGetPermalinks = ( menu : object = { } ) => {
107
+ export const applyGetPermalinks = ( menu : object = { } ) : { [ key : string ] : any } => {
108
108
if ( Array . isArray ( menu ) ) {
109
109
return menu . map ( ( item ) => applyGetPermalinks ( item ) ) ;
110
110
} else if ( typeof menu === 'object' && menu !== null ) {
111
- const obj = { } ;
111
+ const obj : { [ key : string ] : any } = { } ;
112
112
for ( const key in menu ) {
113
113
if ( key === 'href' ) {
114
- if ( typeof menu [ key ] === 'string' ) {
115
- obj [ key ] = getPermalink ( menu [ key ] ) ;
116
- } else if ( typeof menu [ key ] === 'object' ) {
117
- if ( menu [ key ] . type === 'home' ) {
118
- obj [ key ] = getHomePermalink ( ) ;
119
- } else if ( menu [ key ] . type === 'blog' ) {
120
- obj [ key ] = getBlogPermalink ( ) ;
121
- } else if ( menu [ key ] . type === 'asset' ) {
122
- obj [ key ] = getAsset ( menu [ key ] . url ) ;
123
- } else if ( menu [ key ] . url ) {
124
- obj [ key ] = getPermalink ( menu [ key ] . url , menu [ key ] . type ) ;
125
- }
126
- }
114
+ if ( typeof menu [ key as keyof typeof menu ] === 'string' ) {
115
+ obj [ key ] = getPermalink ( menu [ key as keyof typeof menu ] ) ;
116
+ }
117
+ // else if (typeof menu[key as keyof typeof menu] === 'object') {
118
+ // if (menu[key].type === 'home') {
119
+ // obj[key] = getHomePermalink();
120
+ // } else if (menu[key].type === 'blog') {
121
+ // obj[key] = getBlogPermalink();
122
+ // } else if (menu[key].type === 'asset') {
123
+ // obj[key] = getAsset(menu[key].url);
124
+ // } else if (menu[key].url) {
125
+ // obj[key] = getPermalink(menu[key].url, menu[key].type);
126
+ // }
127
+ // }
127
128
} else {
128
- obj [ key ] = applyGetPermalinks ( menu [ key ] ) ;
129
+ obj [ key ] = applyGetPermalinks ( menu [ key as keyof typeof menu ] ) ;
129
130
}
130
131
}
131
132
return obj ;
0 commit comments