CoastalCommitsPastes/server/node_modules/cldrjs/dist/.build/bundle/lookup.js
2022-03-06 16:46:59 -08:00

38 lines
1.1 KiB
JavaScript

/**
* bundleLookup( minLanguageId )
*
* @Cldr [Cldr class]
*
* @cldr [Cldr instance]
*
* @minLanguageId [String] requested languageId after applied remove likely subtags.
*/
var bundleLookup = function( Cldr, cldr, minLanguageId ) {
var availableBundleMap = Cldr._availableBundleMap,
availableBundleMapQueue = Cldr._availableBundleMapQueue;
if ( availableBundleMapQueue.length ) {
arrayForEach( availableBundleMapQueue, function( bundle, i ) {
var existing, maxBundle, minBundle, subtags;
subtags = coreSubtags( bundle );
maxBundle = coreLikelySubtags( Cldr, cldr, subtags );
if ( maxBundle === undefined ) {
availableBundleMapQueue.splice( i, 1 );
throw new Error( "Could not find likelySubtags for " + bundle );
}
minBundle = coreRemoveLikelySubtags( Cldr, cldr, maxBundle );
minBundle = minBundle.join( Cldr.localeSep );
existing = availableBundleMap[ minBundle ];
if ( existing && existing.length < bundle.length ) {
return;
}
availableBundleMap[ minBundle ] = bundle;
});
Cldr._availableBundleMapQueue = [];
}
return availableBundleMap[ minLanguageId ] || null;
};