@adviser/cement 0.4.49 → 0.4.50
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/http_header.cjs +45 -26
- package/cjs/http_header.cjs.map +1 -1
- package/cjs/http_header.d.ts +7 -4
- package/cjs/http_header.d.ts.map +1 -1
- package/cjs/http_header.test.cjs +12 -0
- package/cjs/http_header.test.cjs.map +1 -1
- package/cjs/version.cjs +1 -1
- package/deno.json +1 -1
- package/esm/http_header.d.ts +7 -4
- package/esm/http_header.d.ts.map +1 -1
- package/esm/http_header.js +45 -26
- package/esm/http_header.js.map +1 -1
- package/esm/http_header.test.js +12 -0
- package/esm/http_header.test.js.map +1 -1
- package/esm/version.js +1 -1
- package/package.json +1 -1
- package/src/http_header.ts +50 -33
- package/ts/cjs/http_header.d.ts +7 -4
- package/ts/cjs/http_header.d.ts.map +1 -1
- package/ts/cjs/http_header.js +45 -26
- package/ts/cjs/http_header.js.map +1 -1
- package/ts/cjs/http_header.test.js +12 -0
- package/ts/cjs/http_header.test.js.map +1 -1
- package/ts/cjs/version.js +1 -1
- package/ts/esm/http_header.d.ts +7 -4
- package/ts/esm/http_header.d.ts.map +1 -1
- package/ts/esm/http_header.js +45 -26
- package/ts/esm/http_header.js.map +1 -1
- package/ts/esm/http_header.test.js +12 -0
- package/ts/esm/http_header.test.js.map +1 -1
- package/ts/esm/version.js +1 -1
package/src/http_header.ts
CHANGED
@@ -1,16 +1,11 @@
|
|
1
1
|
export class HeadersImpl implements Headers {
|
2
|
-
// readonly _headers: Map<string, string>;
|
3
2
|
readonly impl: Headers = new Headers();
|
4
3
|
|
5
4
|
constructor(init: Map<string, string | string[]>) {
|
6
|
-
// super();
|
7
5
|
for (const [k, v] of init) {
|
8
6
|
this.append(k, v);
|
9
7
|
}
|
10
8
|
}
|
11
|
-
// toKey(key: string): string {
|
12
|
-
// return key.toLowerCase();
|
13
|
-
// }
|
14
9
|
|
15
10
|
forEach(callbackfn: (value: string, key: string, parent: this) => void): void {
|
16
11
|
this.impl.forEach((v, k) => {
|
@@ -80,12 +75,14 @@ export class HeadersImpl implements Headers {
|
|
80
75
|
}
|
81
76
|
}
|
82
77
|
|
78
|
+
export type CoercedHeadersInit = HeadersInit | Headers | HttpHeader;
|
79
|
+
|
83
80
|
export class HttpHeader {
|
84
|
-
readonly _headers: Map<string, string
|
81
|
+
readonly _headers: Map<string, Set<string>> = new Map<string, Set<string>>();
|
85
82
|
|
86
|
-
static
|
83
|
+
static coerce(headers: CoercedHeadersInit): HttpHeader {
|
87
84
|
if (headers instanceof HttpHeader) {
|
88
|
-
return headers
|
85
|
+
return headers;
|
89
86
|
}
|
90
87
|
const h = new HttpHeader();
|
91
88
|
if (headers) {
|
@@ -115,11 +112,14 @@ export class HttpHeader {
|
|
115
112
|
}
|
116
113
|
return h;
|
117
114
|
}
|
115
|
+
static from(...headersArgs: CoercedHeadersInit[]): HttpHeader {
|
116
|
+
return headersArgs.map((headers) => HttpHeader.coerce(headers)).reduce((acc, cur) => acc.MergeInplace(cur), new HttpHeader());
|
117
|
+
}
|
118
118
|
|
119
119
|
_asStringString(): Map<string, string> {
|
120
120
|
const ret = new Map<string, string>();
|
121
121
|
for (const [key, values] of this._headers) {
|
122
|
-
ret.set(key, values.join(", "));
|
122
|
+
ret.set(key, Array.from(values).join(", "));
|
123
123
|
}
|
124
124
|
return ret;
|
125
125
|
}
|
@@ -129,31 +129,40 @@ export class HttpHeader {
|
|
129
129
|
}
|
130
130
|
Values(key: string): string[] {
|
131
131
|
const values = this._headers.get(this._key(key));
|
132
|
-
return values
|
132
|
+
return values ? Array.from(values) : [];
|
133
133
|
}
|
134
134
|
Get(key: string): string | undefined {
|
135
135
|
const values = this._headers.get(this._key(key));
|
136
|
-
if (values === undefined || values.
|
136
|
+
if (values === undefined || values.size === 0) {
|
137
137
|
return undefined;
|
138
138
|
}
|
139
|
-
return values
|
139
|
+
return values.values().next().value as string;
|
140
140
|
}
|
141
141
|
Set(key: string, valueOr: string | string[]): HttpHeader {
|
142
|
-
const value = Array.isArray(valueOr) ? valueOr : [valueOr];
|
143
|
-
|
142
|
+
const value = new Set((Array.isArray(valueOr) ? valueOr : [valueOr]).map((v) => v.trim()).filter((v) => v !== ""));
|
143
|
+
if (value.size > 0) {
|
144
|
+
this._headers.set(this._key(key), value);
|
145
|
+
} else {
|
146
|
+
this._headers.delete(this._key(key));
|
147
|
+
}
|
144
148
|
return this;
|
145
149
|
}
|
146
150
|
Add(key: string, value: string | string[] | undefined): HttpHeader {
|
147
151
|
if (typeof value === "undefined") {
|
148
152
|
return this;
|
149
153
|
}
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
this._headers.set(this._key(key),
|
154
|
-
}
|
155
|
-
|
156
|
-
|
154
|
+
let values = this._headers.get(this._key(key));
|
155
|
+
if (!values) {
|
156
|
+
values = new Set<string>();
|
157
|
+
this._headers.set(this._key(key), values);
|
158
|
+
}
|
159
|
+
(Array.isArray(value) ? value : [value])
|
160
|
+
.map((v) => v.trim())
|
161
|
+
.filter((v) => v !== "")
|
162
|
+
.reduce((acc, v) => {
|
163
|
+
acc.add(v);
|
164
|
+
return acc;
|
165
|
+
}, values);
|
157
166
|
return this;
|
158
167
|
}
|
159
168
|
Del(ey: string): HttpHeader {
|
@@ -161,7 +170,9 @@ export class HttpHeader {
|
|
161
170
|
return this;
|
162
171
|
}
|
163
172
|
Items(): [string, string[]][] {
|
164
|
-
return Array.from(this._headers)
|
173
|
+
return Array.from(this._headers)
|
174
|
+
.filter(([_, vs]) => vs.size > 0)
|
175
|
+
.map(([k, vs]) => [k, Array.from(vs)]);
|
165
176
|
}
|
166
177
|
SortItems(): [string, string[]][] {
|
167
178
|
return this.Items().sort(([[a]], [[b]]) => a.localeCompare(b));
|
@@ -169,7 +180,7 @@ export class HttpHeader {
|
|
169
180
|
Clone(): HttpHeader {
|
170
181
|
const clone = new HttpHeader();
|
171
182
|
for (const [key, values] of this._headers.entries()) {
|
172
|
-
clone._headers.set(key, values
|
183
|
+
clone._headers.set(key, new Set(values));
|
173
184
|
}
|
174
185
|
return clone;
|
175
186
|
}
|
@@ -183,27 +194,33 @@ export class HttpHeader {
|
|
183
194
|
AsRecordStringString(): Record<string, string> {
|
184
195
|
const obj: Record<string, string> = {};
|
185
196
|
for (const [key, values] of this._headers.entries()) {
|
186
|
-
obj[key] = values.join(", ");
|
197
|
+
obj[key] = Array.from(values).join(", ");
|
187
198
|
}
|
188
199
|
return obj;
|
189
200
|
}
|
190
|
-
|
191
|
-
|
201
|
+
// Need for CF own HeadersInit type
|
202
|
+
AsHeaderInit<H extends HeadersInit>(): H {
|
203
|
+
const obj = {} as H;
|
192
204
|
for (const [key, values] of this._headers.entries()) {
|
193
|
-
|
205
|
+
const vs = values.values().next();
|
206
|
+
if (vs.value) {
|
207
|
+
obj[key] = vs.value as string;
|
208
|
+
}
|
194
209
|
}
|
195
210
|
return obj;
|
196
211
|
}
|
197
212
|
AsHeaders(): HeadersImpl {
|
198
213
|
return new HeadersImpl(this._asStringString());
|
199
214
|
}
|
200
|
-
|
201
|
-
const
|
202
|
-
|
203
|
-
|
204
|
-
ret.Add(key, values);
|
215
|
+
MergeInplace(...other: CoercedHeadersInit[]): HttpHeader {
|
216
|
+
for (const h of other.map((h) => HttpHeader.coerce(h))) {
|
217
|
+
for (const [key, values] of h.Items()) {
|
218
|
+
this.Add(key, values);
|
205
219
|
}
|
206
220
|
}
|
207
|
-
return
|
221
|
+
return this;
|
222
|
+
}
|
223
|
+
Merge(...other: CoercedHeadersInit[]): HttpHeader {
|
224
|
+
return this.Clone().MergeInplace(...other);
|
208
225
|
}
|
209
226
|
}
|
package/ts/cjs/http_header.d.ts
CHANGED
@@ -13,9 +13,11 @@ export declare class HeadersImpl implements Headers {
|
|
13
13
|
values(): IterableIterator<string>;
|
14
14
|
append(key: string, value?: string | string[]): HeadersImpl;
|
15
15
|
}
|
16
|
+
export type CoercedHeadersInit = HeadersInit | Headers | HttpHeader;
|
16
17
|
export declare class HttpHeader {
|
17
|
-
readonly _headers: Map<string, string
|
18
|
-
static
|
18
|
+
readonly _headers: Map<string, Set<string>>;
|
19
|
+
static coerce(headers: CoercedHeadersInit): HttpHeader;
|
20
|
+
static from(...headersArgs: CoercedHeadersInit[]): HttpHeader;
|
19
21
|
_asStringString(): Map<string, string>;
|
20
22
|
_key(key: string): string;
|
21
23
|
Values(key: string): string[];
|
@@ -28,8 +30,9 @@ export declare class HttpHeader {
|
|
28
30
|
Clone(): HttpHeader;
|
29
31
|
AsRecordStringStringArray(): Record<string, string[]>;
|
30
32
|
AsRecordStringString(): Record<string, string>;
|
31
|
-
AsHeaderInit():
|
33
|
+
AsHeaderInit<H extends HeadersInit>(): H;
|
32
34
|
AsHeaders(): HeadersImpl;
|
33
|
-
|
35
|
+
MergeInplace(...other: CoercedHeadersInit[]): HttpHeader;
|
36
|
+
Merge(...other: CoercedHeadersInit[]): HttpHeader;
|
34
37
|
}
|
35
38
|
//# sourceMappingURL=http_header.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"http_header.d.ts","sourceRoot":"","sources":["../../../src/http_header.ts"],"names":[],"mappings":"AAAA,qBAAa,WAAY,YAAW,OAAO;
|
1
|
+
{"version":3,"file":"http_header.d.ts","sourceRoot":"","sources":["../../../src/http_header.ts"],"names":[],"mappings":"AAAA,qBAAa,WAAY,YAAW,OAAO;IACzC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAiB;IAEvC,YAAY,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,EAI/C;IAED,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,KAAK,IAAI,GAAG,IAAI,CAI5E;IAED,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEzB;IACD,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE/B;IACD,YAAY,IAAI,MAAM,EAAE,CAEvB;IACD,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzB;IACD,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAErC;IAEA,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAQvD;IAED,OAAO,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAE5C;IACA,IAAI,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAQhC;IACA,MAAM,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAQlC;IAED,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,WAAW,CAW1D;CACF;AAED,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,OAAO,GAAG,UAAU,CAAC;AAEpE,qBAAa,UAAU;IACrB,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAkC;IAE7E,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,UAAU,CA+BrD;IACD,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,EAAE,kBAAkB,EAAE,GAAG,UAAU,CAE5D;IAED,eAAe,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAMrC;IAED,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAExB;IACD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAG5B;IACD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMnC;IACD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,UAAU,CAQvD;IACD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,GAAG,UAAU,CAiBjE;IACD,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,CAG1B;IACD,KAAK,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAI5B;IACD,SAAS,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAEhC;IACD,KAAK,IAAI,UAAU,CAMlB;IACD,yBAAyB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAMpD;IACD,oBAAoB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAM7C;IAED,YAAY,CAAC,CAAC,SAAS,WAAW,KAAK,CAAC,CASvC;IACD,SAAS,IAAI,WAAW,CAEvB;IACD,YAAY,CAAC,GAAG,KAAK,EAAE,kBAAkB,EAAE,GAAG,UAAU,CAOvD;IACD,KAAK,CAAC,GAAG,KAAK,EAAE,kBAAkB,EAAE,GAAG,UAAU,CAEhD;CACF"}
|
package/ts/cjs/http_header.js
CHANGED
@@ -73,9 +73,9 @@ class HeadersImpl {
|
|
73
73
|
exports.HeadersImpl = HeadersImpl;
|
74
74
|
class HttpHeader {
|
75
75
|
_headers = new Map();
|
76
|
-
static
|
76
|
+
static coerce(headers) {
|
77
77
|
if (headers instanceof HttpHeader) {
|
78
|
-
return headers
|
78
|
+
return headers;
|
79
79
|
}
|
80
80
|
const h = new HttpHeader();
|
81
81
|
if (headers) {
|
@@ -104,10 +104,13 @@ class HttpHeader {
|
|
104
104
|
}
|
105
105
|
return h;
|
106
106
|
}
|
107
|
+
static from(...headersArgs) {
|
108
|
+
return headersArgs.map((headers) => HttpHeader.coerce(headers)).reduce((acc, cur) => acc.MergeInplace(cur), new HttpHeader());
|
109
|
+
}
|
107
110
|
_asStringString() {
|
108
111
|
const ret = new Map();
|
109
112
|
for (const [key, values] of this._headers) {
|
110
|
-
ret.set(key, values.join(", "));
|
113
|
+
ret.set(key, Array.from(values).join(", "));
|
111
114
|
}
|
112
115
|
return ret;
|
113
116
|
}
|
@@ -116,32 +119,41 @@ class HttpHeader {
|
|
116
119
|
}
|
117
120
|
Values(key) {
|
118
121
|
const values = this._headers.get(this._key(key));
|
119
|
-
return values
|
122
|
+
return values ? Array.from(values) : [];
|
120
123
|
}
|
121
124
|
Get(key) {
|
122
125
|
const values = this._headers.get(this._key(key));
|
123
|
-
if (values === undefined || values.
|
126
|
+
if (values === undefined || values.size === 0) {
|
124
127
|
return undefined;
|
125
128
|
}
|
126
|
-
return values
|
129
|
+
return values.values().next().value;
|
127
130
|
}
|
128
131
|
Set(key, valueOr) {
|
129
|
-
const value = Array.isArray(valueOr) ? valueOr : [valueOr];
|
130
|
-
|
132
|
+
const value = new Set((Array.isArray(valueOr) ? valueOr : [valueOr]).map((v) => v.trim()).filter((v) => v !== ""));
|
133
|
+
if (value.size > 0) {
|
134
|
+
this._headers.set(this._key(key), value);
|
135
|
+
}
|
136
|
+
else {
|
137
|
+
this._headers.delete(this._key(key));
|
138
|
+
}
|
131
139
|
return this;
|
132
140
|
}
|
133
141
|
Add(key, value) {
|
134
142
|
if (typeof value === "undefined") {
|
135
143
|
return this;
|
136
144
|
}
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
this._headers.set(this._key(key),
|
141
|
-
}
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
+
let values = this._headers.get(this._key(key));
|
146
|
+
if (!values) {
|
147
|
+
values = new Set();
|
148
|
+
this._headers.set(this._key(key), values);
|
149
|
+
}
|
150
|
+
(Array.isArray(value) ? value : [value])
|
151
|
+
.map((v) => v.trim())
|
152
|
+
.filter((v) => v !== "")
|
153
|
+
.reduce((acc, v) => {
|
154
|
+
acc.add(v);
|
155
|
+
return acc;
|
156
|
+
}, values);
|
145
157
|
return this;
|
146
158
|
}
|
147
159
|
Del(ey) {
|
@@ -149,7 +161,9 @@ class HttpHeader {
|
|
149
161
|
return this;
|
150
162
|
}
|
151
163
|
Items() {
|
152
|
-
return Array.from(this._headers)
|
164
|
+
return Array.from(this._headers)
|
165
|
+
.filter(([_, vs]) => vs.size > 0)
|
166
|
+
.map(([k, vs]) => [k, Array.from(vs)]);
|
153
167
|
}
|
154
168
|
SortItems() {
|
155
169
|
return this.Items().sort(([[a]], [[b]]) => a.localeCompare(b));
|
@@ -157,7 +171,7 @@ class HttpHeader {
|
|
157
171
|
Clone() {
|
158
172
|
const clone = new HttpHeader();
|
159
173
|
for (const [key, values] of this._headers.entries()) {
|
160
|
-
clone._headers.set(key, values
|
174
|
+
clone._headers.set(key, new Set(values));
|
161
175
|
}
|
162
176
|
return clone;
|
163
177
|
}
|
@@ -171,28 +185,33 @@ class HttpHeader {
|
|
171
185
|
AsRecordStringString() {
|
172
186
|
const obj = {};
|
173
187
|
for (const [key, values] of this._headers.entries()) {
|
174
|
-
obj[key] = values.join(", ");
|
188
|
+
obj[key] = Array.from(values).join(", ");
|
175
189
|
}
|
176
190
|
return obj;
|
177
191
|
}
|
178
192
|
AsHeaderInit() {
|
179
193
|
const obj = {};
|
180
194
|
for (const [key, values] of this._headers.entries()) {
|
181
|
-
|
195
|
+
const vs = values.values().next();
|
196
|
+
if (vs.value) {
|
197
|
+
obj[key] = vs.value;
|
198
|
+
}
|
182
199
|
}
|
183
200
|
return obj;
|
184
201
|
}
|
185
202
|
AsHeaders() {
|
186
203
|
return new HeadersImpl(this._asStringString());
|
187
204
|
}
|
188
|
-
|
189
|
-
const
|
190
|
-
|
191
|
-
|
192
|
-
ret.Add(key, values);
|
205
|
+
MergeInplace(...other) {
|
206
|
+
for (const h of other.map((h) => HttpHeader.coerce(h))) {
|
207
|
+
for (const [key, values] of h.Items()) {
|
208
|
+
this.Add(key, values);
|
193
209
|
}
|
194
210
|
}
|
195
|
-
return
|
211
|
+
return this;
|
212
|
+
}
|
213
|
+
Merge(...other) {
|
214
|
+
return this.Clone().MergeInplace(...other);
|
196
215
|
}
|
197
216
|
}
|
198
217
|
exports.HttpHeader = HttpHeader;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"http_header.js","sourceRoot":"","sources":["../../../src/http_header.ts"],"names":[],"mappings":";;;AAAA;
|
1
|
+
{"version":3,"file":"http_header.js","sourceRoot":"","sources":["../../../src/http_header.ts"],"names":[],"mappings":"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"}
|
@@ -95,5 +95,17 @@ const vitest_1 = require("vitest");
|
|
95
95
|
(0, vitest_1.expect)(h).not.toBe(sh);
|
96
96
|
(0, vitest_1.expect)(h.Items()).toEqual([["content-type", ["application/json"]]]);
|
97
97
|
});
|
98
|
+
(0, vitest_1.it)("Merge two HttpHeaders", () => {
|
99
|
+
const CORS = {
|
100
|
+
"Access-Control-Allow-Origin": "*",
|
101
|
+
"Access-Control-Allow-Methods": "GET,POST,OPTIONS,PUT,DELETE",
|
102
|
+
"Access-Control-Allow-Headers": "Origin, Content-Type, Accept",
|
103
|
+
"Access-Control-Max-Age": "86400",
|
104
|
+
};
|
105
|
+
const headers = http_header_js_1.HttpHeader.from(Object.fromEntries(Object.entries({
|
106
|
+
...CORS,
|
107
|
+
}).map(([k, v]) => [k.toUpperCase(), v])), CORS).AsRecordStringString();
|
108
|
+
(0, vitest_1.expect)(headers).toEqual(Object.fromEntries(Object.entries(CORS).map(([k, v]) => [k.toLowerCase(), v])));
|
109
|
+
});
|
98
110
|
});
|
99
111
|
//# sourceMappingURL=http_header.test.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"http_header.test.js","sourceRoot":"","sources":["../../../src/http_header.test.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"http_header.test.js","sourceRoot":"","sources":["../../../src/http_header.test.ts"],"names":[],"mappings":"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"}
|
package/ts/cjs/version.js
CHANGED
package/ts/esm/http_header.d.ts
CHANGED
@@ -13,9 +13,11 @@ export declare class HeadersImpl implements Headers {
|
|
13
13
|
values(): IterableIterator<string>;
|
14
14
|
append(key: string, value?: string | string[]): HeadersImpl;
|
15
15
|
}
|
16
|
+
export type CoercedHeadersInit = HeadersInit | Headers | HttpHeader;
|
16
17
|
export declare class HttpHeader {
|
17
|
-
readonly _headers: Map<string, string
|
18
|
-
static
|
18
|
+
readonly _headers: Map<string, Set<string>>;
|
19
|
+
static coerce(headers: CoercedHeadersInit): HttpHeader;
|
20
|
+
static from(...headersArgs: CoercedHeadersInit[]): HttpHeader;
|
19
21
|
_asStringString(): Map<string, string>;
|
20
22
|
_key(key: string): string;
|
21
23
|
Values(key: string): string[];
|
@@ -28,8 +30,9 @@ export declare class HttpHeader {
|
|
28
30
|
Clone(): HttpHeader;
|
29
31
|
AsRecordStringStringArray(): Record<string, string[]>;
|
30
32
|
AsRecordStringString(): Record<string, string>;
|
31
|
-
AsHeaderInit():
|
33
|
+
AsHeaderInit<H extends HeadersInit>(): H;
|
32
34
|
AsHeaders(): HeadersImpl;
|
33
|
-
|
35
|
+
MergeInplace(...other: CoercedHeadersInit[]): HttpHeader;
|
36
|
+
Merge(...other: CoercedHeadersInit[]): HttpHeader;
|
34
37
|
}
|
35
38
|
//# sourceMappingURL=http_header.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"http_header.d.ts","sourceRoot":"","sources":["../../../src/http_header.ts"],"names":[],"mappings":"AAAA,qBAAa,WAAY,YAAW,OAAO;
|
1
|
+
{"version":3,"file":"http_header.d.ts","sourceRoot":"","sources":["../../../src/http_header.ts"],"names":[],"mappings":"AAAA,qBAAa,WAAY,YAAW,OAAO;IACzC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAiB;IAEvC,YAAY,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,EAI/C;IAED,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,KAAK,IAAI,GAAG,IAAI,CAI5E;IAED,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEzB;IACD,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE/B;IACD,YAAY,IAAI,MAAM,EAAE,CAEvB;IACD,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzB;IACD,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAErC;IAEA,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAQvD;IAED,OAAO,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAE5C;IACA,IAAI,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAQhC;IACA,MAAM,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAQlC;IAED,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,WAAW,CAW1D;CACF;AAED,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,OAAO,GAAG,UAAU,CAAC;AAEpE,qBAAa,UAAU;IACrB,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAkC;IAE7E,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG,UAAU,CA+BrD;IACD,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,EAAE,kBAAkB,EAAE,GAAG,UAAU,CAE5D;IAED,eAAe,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAMrC;IAED,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAExB;IACD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAG5B;IACD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMnC;IACD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,UAAU,CAQvD;IACD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,GAAG,UAAU,CAiBjE;IACD,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,CAG1B;IACD,KAAK,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAI5B;IACD,SAAS,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAEhC;IACD,KAAK,IAAI,UAAU,CAMlB;IACD,yBAAyB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAMpD;IACD,oBAAoB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAM7C;IAED,YAAY,CAAC,CAAC,SAAS,WAAW,KAAK,CAAC,CASvC;IACD,SAAS,IAAI,WAAW,CAEvB;IACD,YAAY,CAAC,GAAG,KAAK,EAAE,kBAAkB,EAAE,GAAG,UAAU,CAOvD;IACD,KAAK,CAAC,GAAG,KAAK,EAAE,kBAAkB,EAAE,GAAG,UAAU,CAEhD;CACF"}
|
package/ts/esm/http_header.js
CHANGED
@@ -69,9 +69,9 @@ export class HeadersImpl {
|
|
69
69
|
}
|
70
70
|
export class HttpHeader {
|
71
71
|
_headers = new Map();
|
72
|
-
static
|
72
|
+
static coerce(headers) {
|
73
73
|
if (headers instanceof HttpHeader) {
|
74
|
-
return headers
|
74
|
+
return headers;
|
75
75
|
}
|
76
76
|
const h = new HttpHeader();
|
77
77
|
if (headers) {
|
@@ -100,10 +100,13 @@ export class HttpHeader {
|
|
100
100
|
}
|
101
101
|
return h;
|
102
102
|
}
|
103
|
+
static from(...headersArgs) {
|
104
|
+
return headersArgs.map((headers) => HttpHeader.coerce(headers)).reduce((acc, cur) => acc.MergeInplace(cur), new HttpHeader());
|
105
|
+
}
|
103
106
|
_asStringString() {
|
104
107
|
const ret = new Map();
|
105
108
|
for (const [key, values] of this._headers) {
|
106
|
-
ret.set(key, values.join(", "));
|
109
|
+
ret.set(key, Array.from(values).join(", "));
|
107
110
|
}
|
108
111
|
return ret;
|
109
112
|
}
|
@@ -112,32 +115,41 @@ export class HttpHeader {
|
|
112
115
|
}
|
113
116
|
Values(key) {
|
114
117
|
const values = this._headers.get(this._key(key));
|
115
|
-
return values
|
118
|
+
return values ? Array.from(values) : [];
|
116
119
|
}
|
117
120
|
Get(key) {
|
118
121
|
const values = this._headers.get(this._key(key));
|
119
|
-
if (values === undefined || values.
|
122
|
+
if (values === undefined || values.size === 0) {
|
120
123
|
return undefined;
|
121
124
|
}
|
122
|
-
return values
|
125
|
+
return values.values().next().value;
|
123
126
|
}
|
124
127
|
Set(key, valueOr) {
|
125
|
-
const value = Array.isArray(valueOr) ? valueOr : [valueOr];
|
126
|
-
|
128
|
+
const value = new Set((Array.isArray(valueOr) ? valueOr : [valueOr]).map((v) => v.trim()).filter((v) => v !== ""));
|
129
|
+
if (value.size > 0) {
|
130
|
+
this._headers.set(this._key(key), value);
|
131
|
+
}
|
132
|
+
else {
|
133
|
+
this._headers.delete(this._key(key));
|
134
|
+
}
|
127
135
|
return this;
|
128
136
|
}
|
129
137
|
Add(key, value) {
|
130
138
|
if (typeof value === "undefined") {
|
131
139
|
return this;
|
132
140
|
}
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
this._headers.set(this._key(key),
|
137
|
-
}
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
+
let values = this._headers.get(this._key(key));
|
142
|
+
if (!values) {
|
143
|
+
values = new Set();
|
144
|
+
this._headers.set(this._key(key), values);
|
145
|
+
}
|
146
|
+
(Array.isArray(value) ? value : [value])
|
147
|
+
.map((v) => v.trim())
|
148
|
+
.filter((v) => v !== "")
|
149
|
+
.reduce((acc, v) => {
|
150
|
+
acc.add(v);
|
151
|
+
return acc;
|
152
|
+
}, values);
|
141
153
|
return this;
|
142
154
|
}
|
143
155
|
Del(ey) {
|
@@ -145,7 +157,9 @@ export class HttpHeader {
|
|
145
157
|
return this;
|
146
158
|
}
|
147
159
|
Items() {
|
148
|
-
return Array.from(this._headers)
|
160
|
+
return Array.from(this._headers)
|
161
|
+
.filter(([_, vs]) => vs.size > 0)
|
162
|
+
.map(([k, vs]) => [k, Array.from(vs)]);
|
149
163
|
}
|
150
164
|
SortItems() {
|
151
165
|
return this.Items().sort(([[a]], [[b]]) => a.localeCompare(b));
|
@@ -153,7 +167,7 @@ export class HttpHeader {
|
|
153
167
|
Clone() {
|
154
168
|
const clone = new HttpHeader();
|
155
169
|
for (const [key, values] of this._headers.entries()) {
|
156
|
-
clone._headers.set(key, values
|
170
|
+
clone._headers.set(key, new Set(values));
|
157
171
|
}
|
158
172
|
return clone;
|
159
173
|
}
|
@@ -167,28 +181,33 @@ export class HttpHeader {
|
|
167
181
|
AsRecordStringString() {
|
168
182
|
const obj = {};
|
169
183
|
for (const [key, values] of this._headers.entries()) {
|
170
|
-
obj[key] = values.join(", ");
|
184
|
+
obj[key] = Array.from(values).join(", ");
|
171
185
|
}
|
172
186
|
return obj;
|
173
187
|
}
|
174
188
|
AsHeaderInit() {
|
175
189
|
const obj = {};
|
176
190
|
for (const [key, values] of this._headers.entries()) {
|
177
|
-
|
191
|
+
const vs = values.values().next();
|
192
|
+
if (vs.value) {
|
193
|
+
obj[key] = vs.value;
|
194
|
+
}
|
178
195
|
}
|
179
196
|
return obj;
|
180
197
|
}
|
181
198
|
AsHeaders() {
|
182
199
|
return new HeadersImpl(this._asStringString());
|
183
200
|
}
|
184
|
-
|
185
|
-
const
|
186
|
-
|
187
|
-
|
188
|
-
ret.Add(key, values);
|
201
|
+
MergeInplace(...other) {
|
202
|
+
for (const h of other.map((h) => HttpHeader.coerce(h))) {
|
203
|
+
for (const [key, values] of h.Items()) {
|
204
|
+
this.Add(key, values);
|
189
205
|
}
|
190
206
|
}
|
191
|
-
return
|
207
|
+
return this;
|
208
|
+
}
|
209
|
+
Merge(...other) {
|
210
|
+
return this.Clone().MergeInplace(...other);
|
192
211
|
}
|
193
212
|
}
|
194
213
|
//# sourceMappingURL=http_header.js.map
|