In your README it states that parser.pick(['fr', 'en'], 'en-GB,en-US;q=0.9,fr-CA;q=0.7,en;q=0.8'); would return "fr". But that's not correct IMO:
> parser.pick(['fr', 'en'], 'en-GB,en-US;q=0.9,fr-CA;q=0.7,en;q=0.8');
'en'
> parser.pick(['fr', 'en'], 'en-GB,en-US;q=0.9,fr-CA;q=0.7,en;q=0.8', { loose: true });
'en'
I'd say this is indeed the expected behaviour, because there are to en with q=1 which should have preference over the fr locale.
Bonus: The README's example for the loose option is missing the { loose: true }.
In your README it states that
parser.pick(['fr', 'en'], 'en-GB,en-US;q=0.9,fr-CA;q=0.7,en;q=0.8');would return"fr". But that's not correct IMO:I'd say this is indeed the expected behaviour, because there are to
enwith q=1 which should have preference over thefrlocale.Bonus: The README's example for the loose option is missing the
{ loose: true }.