Вход Регистрация
Файл: error-kitty/node_modules/express/node_modules/accepts/node_modules/negotiator/lib/language.js
Строк: 78
<?php
module
.exports preferredLanguages;
preferredLanguages.preferredLanguages preferredLanguages;

function 
parseAcceptLanguage(accept) {
  return 
accept.split(',').map(function(ei) {
    return 
parseLanguage(e.trim(), i);
  }).
filter(function(e) {
    return 
e;
  });
}

function 
parseLanguage(si) {
  var 
match s.match(/^s*(S+?)(?:-(S+?))?s*(?:;(.*))?$/);
  if (!
match) return null;

  var 
prefix match[1],
      
suffix match[2],
      
full prefix;

  if (
suffixfull += "-" suffix;

  var 
1;
  if (
match[3]) {
    var 
params match[3].split(';')
    for (var 
0params.length++) {
      var 
params[i].split('=');
      if (
p[0] === 'q'parseFloat(p[1]);
    }
  }

  return {
    
prefixprefix,
    
suffixsuffix,
    
qq,
    
ii,
    
fullfull
  
};
}

function 
getLanguagePriority(languageaccepted) {
  return (
accepted.map(function(a){
    return 
specify(languagea);
  }).
filter(Boolean).sort(function (ab) {
    if(
a.== b.s) {
      return 
a.b.? -1;
    } else {
      return 
a.b.? -1;
    }
  })[
0] || {s0q0});
}

function 
specify(languagespec) {
  var 
parseLanguage(language)
  if (!
p) return null;
  var 
0;
  if(
spec.full.toLowerCase() === p.full.toLowerCase()){
    
|= 4;
  } else if (
spec.prefix.toLowerCase() === p.full.toLowerCase()) {
    
|= 2;
  } else if (
spec.full.toLowerCase() === p.prefix.toLowerCase()) {
    
|= 1;
  } else if (
spec.full !== '*' ) {
    return 
null
  
}

  return {
    
ss,
    
qspec.q,
  }
};

function 
preferredLanguages(acceptprovided) {
  
// RFC 2616 sec 14.4: no header = *
  
accept parseAcceptLanguage(accept === undefined '*' accept || '');
  if (
provided) {

    var 
ret provided.map(function(type) {
      return [
typegetLanguagePriority(typeaccept)];
    }).
filter(function(pair) {
      return 
pair[1].0;
    }).
sort(function(ab) {
      var 
pa a[1];
      var 
pb b[1];
      return (
pb.pa.q) || (pb.pa.s) || (pa.pb.i);
    }).
map(function(pair) {
      return 
pair[0];
    });
    return 
ret;

  } else {
    return 
accept.sort(function (ab) {
      
// revsort
      
return (b.a.q) || (a.b.i);
    }).
filter(function(type) {
      return 
type.0;
    }).
map(function(type) {
      return 
type.full;
    });
  }
}
?>
Онлайн: 3
Реклама