Skip to content

Commit 891c059

Browse files
committed
s/quality/weight/g
1 parent dfc13a7 commit 891c059

File tree

6 files changed

+82
-82
lines changed

6 files changed

+82
-82
lines changed

packages/headers/CHANGELOG.md

+7-7
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ let ms = new Date().getTime();
7272
let headers = new SuperHeaders({ lastModified: ms });
7373
```
7474

75-
- Added `AcceptLanguage.prototype.accepts(language)`, `AcceptLanguage.prototype.getQuality(language)`,
75+
- Added `AcceptLanguage.prototype.accepts(language)`, `AcceptLanguage.prototype.getWeight(language)`,
7676
`AcceptLanguage.prototype.getPreferred(languages)`
7777

7878
```ts
@@ -85,8 +85,8 @@ header.accepts('en-GB'); // true
8585
header.accepts('en'); // true
8686
header.accepts('fr'); // false
8787

88-
header.getQuality('en-US'); // 1
89-
header.getQuality('en-GB'); // 0.9
88+
header.getWeight('en-US'); // 1
89+
header.getWeight('en-GB'); // 0.9
9090

9191
header.getPreferred(['en-GB', 'en-US']); // 'en-US'
9292
```
@@ -103,8 +103,8 @@ header.accepts('text/plain'); // true
103103
header.accepts('text/*'); // true
104104
header.accepts('image/jpeg'); // false
105105

106-
header.getQuality('text/html'); // 1
107-
header.getQuality('text/plain'); // 0.9
106+
header.getWeight('text/html'); // 1
107+
header.getWeight('text/plain'); // 0.9
108108

109109
header.getPreferred(['text/html', 'text/plain']); // 'text/html'
110110
```
@@ -121,8 +121,8 @@ header.accepts('deflate'); // true
121121
header.accepts('identity'); // true
122122
header.accepts('br'); // false
123123

124-
header.getQuality('gzip'); // 1
125-
header.getQuality('deflate'); // 0.9
124+
header.getWeight('gzip'); // 1
125+
header.getWeight('deflate'); // 0.9
126126

127127
header.getPreferred(['gzip', 'deflate']); // 'gzip'
128128
```

packages/headers/src/lib/accept-language.test.ts

+13-13
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@ describe('Accept-Language', () => {
3939
assert.deepEqual(header.languages, ['en-us', 'en']);
4040
});
4141

42-
it('gets all qualities', () => {
42+
it('gets all weights', () => {
4343
let header = new AcceptLanguage('en-US,en;q=0.9');
44-
assert.deepEqual(header.qualities, [1, 0.9]);
44+
assert.deepEqual(header.weights, [1, 0.9]);
4545
});
4646

4747
it('checks if a language is acceptable', () => {
@@ -53,14 +53,14 @@ describe('Accept-Language', () => {
5353
assert.equal(header.accepts('fi'), false);
5454
});
5555

56-
it('gets the correct quality values', () => {
56+
it('gets the correct weight values', () => {
5757
let header = new AcceptLanguage('en-US,en;q=0.9,fr;q=0.8');
58-
assert.equal(header.getQuality('en-US'), 1);
59-
assert.equal(header.getQuality('*'), 1);
60-
assert.equal(header.getQuality('en'), 1);
61-
assert.equal(header.getQuality('en-GB'), 0.9);
62-
assert.equal(header.getQuality('fr'), 0.8);
63-
assert.equal(header.getQuality('fi'), 0);
58+
assert.equal(header.getWeight('en-US'), 1);
59+
assert.equal(header.getWeight('*'), 1);
60+
assert.equal(header.getWeight('en'), 1);
61+
assert.equal(header.getWeight('en-GB'), 0.9);
62+
assert.equal(header.getWeight('fr'), 0.8);
63+
assert.equal(header.getWeight('fi'), 0);
6464
});
6565

6666
it('gets the preferred language', () => {
@@ -112,8 +112,8 @@ describe('Accept-Language', () => {
112112
it('uses forEach correctly', () => {
113113
let header = new AcceptLanguage('en-US,en;q=0.9');
114114
let result: [string, number][] = [];
115-
header.forEach((language, quality) => {
116-
result.push([language, quality]);
115+
header.forEach((language, weight) => {
116+
result.push([language, weight]);
117117
});
118118
assert.deepEqual(result, [
119119
['en-us', 1],
@@ -131,13 +131,13 @@ describe('Accept-Language', () => {
131131
assert.equal(header.toString(), 'en-us,en;q=0.9');
132132
});
133133

134-
it('handles setting empty quality values', () => {
134+
it('handles setting empty weight values', () => {
135135
let header = new AcceptLanguage();
136136
header.set('en-US');
137137
assert.equal(header.get('en-US'), 1);
138138
});
139139

140-
it('overwrites existing quality values', () => {
140+
it('overwrites existing weight values', () => {
141141
let header = new AcceptLanguage('en;q=0.9');
142142
header.set('en', 1);
143143
assert.equal(header.get('en'), 1);

packages/headers/src/lib/accept-language.ts

+21-21
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,17 @@ export class AcceptLanguage implements HeaderValue, Iterable<[string, number]> {
2424
if (params.length < 1) continue;
2525

2626
let language = params[0][0];
27-
let quality = 1;
27+
let weight = 1;
2828

2929
for (let i = 1; i < params.length; i++) {
3030
let [key, value] = params[i];
3131
if (key === 'q') {
32-
quality = Number(value);
32+
weight = Number(value);
3333
break;
3434
}
3535
}
3636

37-
this.#map.set(language.toLowerCase(), quality);
37+
this.#map.set(language.toLowerCase(), weight);
3838
}
3939
} else if (isIterable(init)) {
4040
for (let value of init) {
@@ -66,9 +66,9 @@ export class AcceptLanguage implements HeaderValue, Iterable<[string, number]> {
6666
}
6767

6868
/**
69-
* An array of all quality values in the header.
69+
* An array of all weight values in the header.
7070
*/
71-
get qualities(): number[] {
71+
get weights(): number[] {
7272
return Array.from(this.#map.values());
7373
}
7474

@@ -78,16 +78,16 @@ export class AcceptLanguage implements HeaderValue, Iterable<[string, number]> {
7878
* @returns `true` if the language is acceptable, `false` otherwise.
7979
*/
8080
accepts(language: string): boolean {
81-
return this.getQuality(language) > 0;
81+
return this.getWeight(language) > 0;
8282
}
8383

8484
/**
85-
* Gets the quality of a language with the given locale identifier. Performs wildcard and subtype
85+
* Gets the weight of a language with the given locale identifier. Performs wildcard and subtype
8686
* matching, so `en` matches `en-US` and `en-GB`, and `*` matches all languages.
8787
* @param language The locale identifier of the language to get.
88-
* @returns The quality of the language, or `0` if it is not in the header.
88+
* @returns The weight of the language, or `0` if it is not in the header.
8989
*/
90-
getQuality(language: string): number {
90+
getWeight(language: string): number {
9191
let [base, subtype] = language.toLowerCase().split('-');
9292

9393
for (let [key, value] of this) {
@@ -110,7 +110,7 @@ export class AcceptLanguage implements HeaderValue, Iterable<[string, number]> {
110110
*/
111111
getPreferred(languages: string[]): string | null {
112112
let sorted = languages
113-
.map((language) => [language, this.getQuality(language)] as const)
113+
.map((language) => [language, this.getWeight(language)] as const)
114114
.sort((a, b) => b[1] - a[1]);
115115

116116
let first = sorted[0];
@@ -119,22 +119,22 @@ export class AcceptLanguage implements HeaderValue, Iterable<[string, number]> {
119119
}
120120

121121
/**
122-
* Gets the quality of a language with the given locale identifier. If it is not in the header
122+
* Gets the weight of a language with the given locale identifier. If it is not in the header
123123
* verbatim, this returns `null`.
124124
* @param language The locale identifier of the language to get.
125-
* @returns The quality of the language, or `null` if it is not in the header.
125+
* @returns The weight of the language, or `null` if it is not in the header.
126126
*/
127127
get(language: string): number | null {
128128
return this.#map.get(language.toLowerCase()) ?? null;
129129
}
130130

131131
/**
132-
* Sets a language with the given quality.
132+
* Sets a language with the given weight.
133133
* @param language The locale identifier of the language to set.
134-
* @param quality The quality of the language. Defaults to 1.
134+
* @param weight The weight of the language. Defaults to 1.
135135
*/
136-
set(language: string, quality = 1): void {
137-
this.#map.set(language.toLowerCase(), quality);
136+
set(language: string, weight = 1): void {
137+
this.#map.set(language.toLowerCase(), weight);
138138
this.#sort();
139139
}
140140

@@ -171,11 +171,11 @@ export class AcceptLanguage implements HeaderValue, Iterable<[string, number]> {
171171
}
172172

173173
forEach(
174-
callback: (language: string, quality: number, header: AcceptLanguage) => void,
174+
callback: (language: string, weight: number, header: AcceptLanguage) => void,
175175
thisArg?: any,
176176
): void {
177-
for (let [language, quality] of this) {
178-
callback.call(thisArg, language, quality, this);
177+
for (let [language, weight] of this) {
178+
callback.call(thisArg, language, weight, this);
179179
}
180180
}
181181

@@ -189,8 +189,8 @@ export class AcceptLanguage implements HeaderValue, Iterable<[string, number]> {
189189
toString(): string {
190190
let pairs: string[] = [];
191191

192-
for (let [language, quality] of this.#map) {
193-
pairs.push(`${language}${quality === 1 ? '' : `;q=${quality}`}`);
192+
for (let [language, weight] of this.#map) {
193+
pairs.push(`${language}${weight === 1 ? '' : `;q=${weight}`}`);
194194
}
195195

196196
return pairs.join(',');

packages/headers/src/lib/accept.test.ts

+13-13
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@ describe('Accept', () => {
3939
assert.deepEqual(header.mediaTypes, ['text/html', 'application/json']);
4040
});
4141

42-
it('gets all qualities', () => {
42+
it('gets all weights', () => {
4343
let header = new Accept('text/html,application/json;q=0.9');
44-
assert.deepEqual(header.qualities, [1, 0.9]);
44+
assert.deepEqual(header.weights, [1, 0.9]);
4545
});
4646

4747
it('checks if a media type is acceptable', () => {
@@ -53,14 +53,14 @@ describe('Accept', () => {
5353
assert.equal(header.accepts('image/jpeg'), false);
5454
});
5555

56-
it('gets the correct quality values', () => {
56+
it('gets the correct weight values', () => {
5757
let header = new Accept('text/html,text/*;q=0.9,application/json;q=0.8');
58-
assert.equal(header.getQuality('text/html'), 1);
59-
assert.equal(header.getQuality('*/*'), 1);
60-
assert.equal(header.getQuality('text/*'), 1);
61-
assert.equal(header.getQuality('text/plain'), 0.9);
62-
assert.equal(header.getQuality('application/json'), 0.8);
63-
assert.equal(header.getQuality('image/jpeg'), 0);
58+
assert.equal(header.getWeight('text/html'), 1);
59+
assert.equal(header.getWeight('*/*'), 1);
60+
assert.equal(header.getWeight('text/*'), 1);
61+
assert.equal(header.getWeight('text/plain'), 0.9);
62+
assert.equal(header.getWeight('application/json'), 0.8);
63+
assert.equal(header.getWeight('image/jpeg'), 0);
6464
});
6565

6666
it('gets the preferred media type', () => {
@@ -110,8 +110,8 @@ describe('Accept', () => {
110110
it('uses forEach correctly', () => {
111111
let header = new Accept('text/html,application/json;q=0.9');
112112
let result: [string, number][] = [];
113-
header.forEach((mediaType, quality) => {
114-
result.push([mediaType, quality]);
113+
header.forEach((mediaType, weight) => {
114+
result.push([mediaType, weight]);
115115
});
116116
assert.deepEqual(result, [
117117
['text/html', 1],
@@ -129,13 +129,13 @@ describe('Accept', () => {
129129
assert.equal(header.toString(), 'text/html,application/json;q=0.9');
130130
});
131131

132-
it('handles setting empty quality values', () => {
132+
it('handles setting empty weight values', () => {
133133
let header = new Accept();
134134
header.set('text/html');
135135
assert.equal(header.get('text/html'), 1);
136136
});
137137

138-
it('overwrites existing quality values', () => {
138+
it('overwrites existing weight values', () => {
139139
let header = new Accept('text/html,application/json;q=0.9');
140140
header.set('application/json', 0.8);
141141
assert.equal(header.get('application/json'), 0.8);

0 commit comments

Comments
 (0)