11/* eslint-env browser */
22
3- import { negotiateLanguages } from "fluent-langneg" ;
4- import { FluentBundle } from "fluent" ;
5- import { DOMLocalization } from "fluent-dom" ;
6- import { CachedAsyncIterable } from "cached-iterable" ;
3+ import { negotiateLanguages } from 'fluent-langneg' ;
4+ import { FluentBundle } from 'fluent' ;
5+ import { DOMLocalization } from 'fluent-dom' ;
76
87function documentReady ( ) {
98 const rs = document . readyState ;
10- if ( rs === " interactive" || rs === " completed" ) {
9+ if ( rs === ' interactive' || rs === ' completed' ) {
1110 return Promise . resolve ( ) ;
1211 }
1312
1413 return new Promise (
1514 resolve => document . addEventListener (
16- " readystatechange" , resolve , { once : true }
17- )
15+ ' readystatechange' , resolve , { once : true } ,
16+ ) ,
1817 ) ;
1918}
2019
2120function getMeta ( elem ) {
2221 return {
2322 available : elem . querySelector ( 'meta[name="availableLanguages"]' )
24- . getAttribute ( " content" )
25- . split ( "," ) . map ( s => s . trim ( ) ) ,
23+ . getAttribute ( ' content' )
24+ . split ( ',' ) . map ( s => s . trim ( ) ) ,
2625 default : elem . querySelector ( 'meta[name="defaultLanguage"]' )
27- . getAttribute ( " content" ) ,
26+ . getAttribute ( ' content' ) ,
2827 } ;
2928}
3029
3130function getResourceLinks ( elem ) {
3231 return Array . prototype . map . call (
3332 elem . querySelectorAll ( 'link[rel="localization"]' ) ,
34- el => el . getAttribute ( " href" )
33+ el => el . getAttribute ( ' href' ) ,
3534 ) ;
3635}
3736
3837async function fetchResource ( locale , id ) {
39- const url = id . replace ( " {locale}" , locale ) ;
38+ const url = id . replace ( ' {locale}' , locale ) ;
4039 const response = await fetch ( url ) ;
4140 return response . text ( ) ;
4241}
@@ -46,7 +45,7 @@ async function createContext(locale, resourceIds) {
4645
4746 // First fetch all resources
4847 const resources = await Promise . all (
49- resourceIds . map ( id => fetchResource ( locale , id ) )
48+ resourceIds . map ( id => fetchResource ( locale , id ) ) ,
5049 ) ;
5150
5251 // Then apply them preserving order
@@ -63,19 +62,19 @@ async function* generateMessages(resourceIds) {
6362 navigator . languages ,
6463 meta . available ,
6564 {
66- defaultLocale : meta . default
67- }
65+ defaultLocale : meta . default ,
66+ } ,
6867 ) ;
6968 for ( const locale of locales ) {
70- yield await createContext ( locale , resourceIds ) ;
69+ yield createContext ( locale , resourceIds ) ;
7170 }
7271}
7372
7473const resourceIds = getResourceLinks ( document . head ) ;
7574document . l10n = new DOMLocalization (
76- resourceIds , generateMessages
75+ resourceIds , generateMessages ,
7776) ;
78- window . addEventListener ( " languagechange" , document . l10n ) ;
77+ window . addEventListener ( ' languagechange' , document . l10n ) ;
7978
8079document . l10n . ready = documentReady ( ) . then ( ( ) => {
8180 document . l10n . connectRoot ( document . documentElement ) ;
0 commit comments