22 "../core/likely_subtags" ,
33 "../core/remove_likely_subtags" ,
44 "../core/subtags" ,
5- ] , function ( coreLikelySubtags , coreRemoveLikelySubtags , coreSubtags ) {
5+ "../util/array/for_each"
6+ ] , function ( coreLikelySubtags , coreRemoveLikelySubtags , coreSubtags , arrayForEach ) {
67
78 /**
89 * bundleLookup( minLanguageId )
@@ -17,28 +18,24 @@ define([
1718 var availableBundleMap = Cldr . _availableBundleMap ,
1819 availableBundleMapQueue = Cldr . _availableBundleMapQueue ;
1920
20- if ( availableBundleMapQueue . length ) {
21- while ( availableBundleMapQueue . length > 0 ) {
22- const bundle = availableBundleMapQueue . shift ( ) ;
23- if ( ! bundle ) {
24- break ;
25- }
26-
21+ if ( availableBundleMapQueue . length ) {
22+ arrayForEach ( availableBundleMapQueue , function ( bundle ) {
2723 var existing , maxBundle , minBundle , subtags ;
28- subtags = coreSubtags ( bundle ) ;
29- maxBundle = coreLikelySubtags ( Cldr , cldr , subtags ) ;
30- if ( typeof maxBundle === "undefined" ) {
31- throw new Error ( `Could not find likelySubtags for ${ bundle } ` ) ;
24+ subtags = coreSubtags ( bundle ) ;
25+ maxBundle = coreLikelySubtags ( Cldr , cldr , subtags ) ;
26+ if ( maxBundle === undefined ) {
27+ availableBundleMapQueue . splice ( i , 1 ) ;
28+ throw new Error ( "Could not find likelySubtags for " + bundle ) ;
3229 }
33-
34- minBundle = coreRemoveLikelySubtags ( Cldr , cldr , maxBundle ) ;
35- minBundle = minBundle . join ( Cldr . localeSep ) ;
36- existing = availableBundleMap [ minBundle ] ;
37- if ( existing && existing . length < bundle . length ) {
30+ minBundle = coreRemoveLikelySubtags ( Cldr , cldr , maxBundle ) ;
31+ minBundle = minBundle . join ( Cldr . localeSep ) ;
32+ existing = availableBundleMap [ minBundle ] ;
33+ if ( existing && existing . length < bundle . length ) {
3834 return ;
3935 }
40- availableBundleMap [ minBundle ] = bundle ;
41- }
36+ availableBundleMap [ minBundle ] = bundle ;
37+ } ) ;
38+ Cldr . _availableBundleMapQueue = [ ] ;
4239 }
4340
4441 return availableBundleMap [ minLanguageId ] || null ;
0 commit comments