@@ -6,7 +6,8 @@ const version_regexs = [
6
6
'(?:\\d)' ,
7
7
'(?:\\d\\.\\d[\\w\\d\\.]*)' ,
8
8
'(?:dev)' ,
9
- '(?:release/\\d.\\d[\\x\\d\\.]*)' ] ;
9
+ '(?:release/\\d.\\d[\\x\\d\\.]*)' ,
10
+ ] ;
10
11
11
12
const all_versions = $VERSIONS ;
12
13
const all_languages = $LANGUAGES ;
@@ -54,7 +55,7 @@ const _create_language_select = (current_language) => {
54
55
const _navigate_to_first_existing = ( urls ) => {
55
56
// Navigate to the first existing URL in urls.
56
57
const url = urls . shift ( ) ;
57
- if ( urls . length === 0 || url . startsWith ( " file:///" ) ) {
58
+ if ( urls . length === 0 || url . startsWith ( ' file:///' ) ) {
58
59
window . location . href = url ;
59
60
return ;
60
61
}
@@ -77,16 +78,20 @@ const _on_version_switch = () => {
77
78
const url = window . location . href ;
78
79
const current_language = language_segment_from_url ( ) ;
79
80
const current_version = version_segment_from_url ( ) ;
80
- const new_url = url . replace ( '/' + current_language + current_version ,
81
- '/' + current_language + selected_version ) ;
81
+ const new_url = url . replace (
82
+ '/' + current_language + current_version ,
83
+ '/' + current_language + selected_version ,
84
+ ) ;
82
85
if ( new_url !== url ) {
83
86
_navigate_to_first_existing ( [
84
87
new_url ,
85
- url . replace ( '/' + current_language + current_version ,
86
- '/' + selected_version ) ,
88
+ url . replace (
89
+ '/' + current_language + current_version ,
90
+ '/' + selected_version ,
91
+ ) ,
87
92
'/' + current_language + selected_version ,
88
93
'/' + selected_version ,
89
- '/'
94
+ '/' ,
90
95
] ) ;
91
96
}
92
97
} ;
@@ -96,26 +101,26 @@ const _on_language_switch = () => {
96
101
const url = window . location . href ;
97
102
const current_language = language_segment_from_url ( ) ;
98
103
const current_version = version_segment_from_url ( ) ;
99
- if ( selected_language === 'en/' ) // Special 'default' case for English.
104
+ if ( selected_language === 'en/' )
105
+ // Special 'default' case for English.
100
106
selected_language = '' ;
101
- let new_url = url . replace ( '/' + current_language + current_version ,
102
- '/' + selected_language + current_version ) ;
107
+ let new_url = url . replace (
108
+ '/' + current_language + current_version ,
109
+ '/' + selected_language + current_version ,
110
+ ) ;
103
111
if ( new_url !== url ) {
104
- _navigate_to_first_existing ( [
105
- new_url ,
106
- '/'
107
- ] ) ;
112
+ _navigate_to_first_existing ( [ new_url , '/' ] ) ;
108
113
}
109
114
} ;
110
115
111
116
// Returns the path segment of the language as a string, like 'fr/'
112
117
// or '' if not found.
113
118
function language_segment_from_url ( ) {
114
119
const path = window . location . pathname ;
115
- const language_regexp = '/((?:' + Object . keys ( all_languages ) . join ( "|" ) + ')/)'
120
+ const language_regexp =
121
+ '/((?:' + Object . keys ( all_languages ) . join ( '|' ) + ')/)' ;
116
122
const match = path . match ( language_regexp ) ;
117
- if ( match !== null )
118
- return match [ 1 ] ;
123
+ if ( match !== null ) return match [ 1 ] ;
119
124
return '' ;
120
125
}
121
126
@@ -127,9 +132,8 @@ function version_segment_from_url() {
127
132
const version_segment = '(?:(?:' + version_regexs . join ( '|' ) + ')/)' ;
128
133
const version_regexp = language_segment + '(' + version_segment + ')' ;
129
134
const match = path . match ( version_regexp ) ;
130
- if ( match !== null )
131
- return match [ 1 ] ;
132
- return ''
135
+ if ( match !== null ) return match [ 1 ] ;
136
+ return '' ;
133
137
}
134
138
const _initialise_switchers = ( ) => {
135
139
const language_segment = language_segment_from_url ( ) ;
0 commit comments