@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.
@@ -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[]> = new Map<string, string[]>();
81
+ readonly _headers: Map<string, Set<string>> = new Map<string, Set<string>>();
85
82
 
86
- static from(headers?: HeadersInit | Headers | HttpHeader): HttpHeader {
83
+ static coerce(headers: CoercedHeadersInit): HttpHeader {
87
84
  if (headers instanceof HttpHeader) {
88
- return headers.Clone();
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.length === 0) {
136
+ if (values === undefined || values.size === 0) {
137
137
  return undefined;
138
138
  }
139
- return values[0];
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
- this._headers.set(this._key(key), value);
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
- const vs = Array.isArray(value) ? value : [value];
151
- const values = this._headers.get(this._key(key));
152
- if (values === undefined) {
153
- this._headers.set(this._key(key), vs);
154
- } else {
155
- values.push(...vs);
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).filter(([_, vs]) => vs.length > 0);
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.slice());
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
- AsHeaderInit(): HeadersInit {
191
- const obj: HeadersInit = {};
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
- obj[key] = values[0];
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
- Merge(other?: HttpHeader): HttpHeader {
201
- const ret = this.Clone();
202
- if (other) {
203
- for (const [key, values] of other.Items()) {
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 ret;
221
+ return this;
222
+ }
223
+ Merge(...other: CoercedHeadersInit[]): HttpHeader {
224
+ return this.Clone().MergeInplace(...other);
208
225
  }
209
226
  }
@@ -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 from(headers?: HeadersInit | Headers | HttpHeader): HttpHeader;
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(): HeadersInit;
33
+ AsHeaderInit<H extends HeadersInit>(): H;
32
34
  AsHeaders(): HeadersImpl;
33
- Merge(other?: HttpHeader): HttpHeader;
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;IAEzC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAiB;IAEvC,YAAY,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,EAK/C;IAKD,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,qBAAa,UAAU;IACrB,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAA+B;IAEvE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,CA+BpE;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,CAIvD;IACD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,GAAG,UAAU,CAYjE;IACD,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,CAG1B;IACD,KAAK,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAE5B;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;IACD,YAAY,IAAI,WAAW,CAM1B;IACD,SAAS,IAAI,WAAW,CAEvB;IACD,KAAK,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,UAAU,CAQpC;CACF"}
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"}
@@ -73,9 +73,9 @@ class HeadersImpl {
73
73
  exports.HeadersImpl = HeadersImpl;
74
74
  class HttpHeader {
75
75
  _headers = new Map();
76
- static from(headers) {
76
+ static coerce(headers) {
77
77
  if (headers instanceof HttpHeader) {
78
- return headers.Clone();
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.length === 0) {
126
+ if (values === undefined || values.size === 0) {
124
127
  return undefined;
125
128
  }
126
- return values[0];
129
+ return values.values().next().value;
127
130
  }
128
131
  Set(key, valueOr) {
129
- const value = Array.isArray(valueOr) ? valueOr : [valueOr];
130
- this._headers.set(this._key(key), value);
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
- const vs = Array.isArray(value) ? value : [value];
138
- const values = this._headers.get(this._key(key));
139
- if (values === undefined) {
140
- this._headers.set(this._key(key), vs);
141
- }
142
- else {
143
- values.push(...vs);
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).filter(([_, vs]) => vs.length > 0);
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.slice());
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
- obj[key] = values[0];
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
- Merge(other) {
189
- const ret = this.Clone();
190
- if (other) {
191
- for (const [key, values] of other.Items()) {
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 ret;
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;IAEW,IAAI,GAAY,IAAI,OAAO,EAAE,CAAC;IAEvC,YAAY,IAAoC,EAAE;QAEhD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpB,CAAC;IAAA,CACF;IAKD,OAAO,CAAC,UAA8D,EAAQ;QAC5E,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1B,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QAAA,CACxB,CAAC,CAAC;IAAA,CACJ;IAED,MAAM,CAAC,IAAY,EAAQ;QACzB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAAA,CACxB;IACD,GAAG,CAAC,IAAY,EAAiB;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAAA,CAC5B;IACD,YAAY,GAAa;QACvB,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;IAAA,CACjC;IACD,GAAG,CAAC,IAAY,EAAW;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAAA,CAC5B;IACD,GAAG,CAAC,IAAY,EAAE,KAAa,EAAQ;QACrC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAAA,CAC5B;IAED,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAuC;QACvD,MAAM,IAAI,GAAuB,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAAA,CACnB,CAAC,CAAC;QACH,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,CAAC,CAAC;QACV,CAAC;IAAA,CACF;IAED,OAAO,GAAuC;QAC5C,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;IAAA,CAChC;IACD,CAAC,IAAI,GAA6B;QAChC,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAA,CACd,CAAC,CAAC;QACH,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,CAAC,CAAC;QACV,CAAC;IAAA,CACF;IACD,CAAC,MAAM,GAA6B;QAClC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAC5B,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,CAAC,CAAC,EAAE,CAAC;gBACP,SAAS;YACX,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;IAAA,CACF;IAED,MAAM,CAAC,GAAW,EAAE,KAAyB,EAAe;QAC1D,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACzD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChD,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAElH,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;IAAA,CACb;CACF;;AAED;IACW,QAAQ,GAA0B,IAAI,GAAG,EAAoB,CAAC;IAEvE,MAAM,CAAC,IAAI,CAAC,OAA4C,EAAc;QACpE,IAAI,OAAO,YAAY,UAAU,EAAE,CAAC;YAClC,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC;QACD,MAAM,CAAC,GAAG,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC;oBAC7B,IAAI,CAAC,EAAE,CAAC;wBACN,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACd,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,YAAY,OAAO,EAAE,CAAC;gBACtC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBACxB,IAAI,CAAC,EAAE,CAAC;wBACN,CAAC,CAAC,GAAG,CACH,CAAC,EACD,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAClC,CAAC;oBACJ,CAAC;gBAAA,CACF,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oBACxB,MAAM,CAAC,GAAI,OAA6C,CAAC,CAAC,CAAC,CAAC;oBAC5D,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;wBAC1C,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAAA,CACb,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,CAAC,CAAC;IAAA,CACV;IAED,eAAe,GAAwB;QACrC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAkB,CAAC;QACtC,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1C,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,GAAG,CAAC;IAAA,CACZ;IAED,IAAI,CAAC,GAAW,EAAU;QACxB,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;IAAA,CAC1B;IACD,MAAM,CAAC,GAAW,EAAY;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACjD,OAAO,MAAM,IAAI,EAAE,CAAC;IAAA,CACrB;IACD,GAAG,CAAC,GAAW,EAAsB;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACjD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChD,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IAAA,CAClB;IACD,GAAG,CAAC,GAAW,EAAE,OAA0B,EAAc;QACvD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IAAA,CACb;IACD,GAAG,CAAC,GAAW,EAAE,KAAoC,EAAc;QACjE,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACjD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,IAAI,CAAC;IAAA,CACb;IACD,GAAG,CAAC,EAAU,EAAc;QAC1B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC;IAAA,CACb;IACD,KAAK,GAAyB;QAC5B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAAA,CACrE;IACD,SAAS,GAAyB;QAChC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAAA,CAChE;IACD,KAAK,GAAe;QAClB,MAAM,KAAK,GAAG,IAAI,UAAU,EAAE,CAAC;QAC/B,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YACpD,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,KAAK,CAAC;IAAA,CACd;IACD,yBAAyB,GAA6B;QACpD,MAAM,GAAG,GAA6B,EAAE,CAAC;QACzC,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YACpD,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,GAAG,CAAC;IAAA,CACZ;IACD,oBAAoB,GAA2B;QAC7C,MAAM,GAAG,GAA2B,EAAE,CAAC;QACvC,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YACpD,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,GAAG,CAAC;IAAA,CACZ;IACD,YAAY,GAAgB;QAC1B,MAAM,GAAG,GAAgB,EAAE,CAAC;QAC5B,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YACpD,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACvB,CAAC;QACD,OAAO,GAAG,CAAC;IAAA,CACZ;IACD,SAAS,GAAgB;QACvB,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IAAA,CAChD;IACD,KAAK,CAAC,KAAkB,EAAc;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC1C,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IAAA,CACZ;CACF"}
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
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
- exports.VERSION = "0.4.49";
4
+ exports.VERSION = "0.4.50";
5
5
  //# sourceMappingURL=version.js.map
@@ -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 from(headers?: HeadersInit | Headers | HttpHeader): HttpHeader;
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(): HeadersInit;
33
+ AsHeaderInit<H extends HeadersInit>(): H;
32
34
  AsHeaders(): HeadersImpl;
33
- Merge(other?: HttpHeader): HttpHeader;
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;IAEzC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAiB;IAEvC,YAAY,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,EAK/C;IAKD,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,qBAAa,UAAU;IACrB,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAA+B;IAEvE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,CA+BpE;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,CAIvD;IACD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,GAAG,UAAU,CAYjE;IACD,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,CAG1B;IACD,KAAK,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAE5B;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;IACD,YAAY,IAAI,WAAW,CAM1B;IACD,SAAS,IAAI,WAAW,CAEvB;IACD,KAAK,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,UAAU,CAQpC;CACF"}
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"}
@@ -69,9 +69,9 @@ export class HeadersImpl {
69
69
  }
70
70
  export class HttpHeader {
71
71
  _headers = new Map();
72
- static from(headers) {
72
+ static coerce(headers) {
73
73
  if (headers instanceof HttpHeader) {
74
- return headers.Clone();
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.length === 0) {
122
+ if (values === undefined || values.size === 0) {
120
123
  return undefined;
121
124
  }
122
- return values[0];
125
+ return values.values().next().value;
123
126
  }
124
127
  Set(key, valueOr) {
125
- const value = Array.isArray(valueOr) ? valueOr : [valueOr];
126
- this._headers.set(this._key(key), value);
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
- const vs = Array.isArray(value) ? value : [value];
134
- const values = this._headers.get(this._key(key));
135
- if (values === undefined) {
136
- this._headers.set(this._key(key), vs);
137
- }
138
- else {
139
- values.push(...vs);
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).filter(([_, vs]) => vs.length > 0);
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.slice());
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
- obj[key] = values[0];
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
- Merge(other) {
185
- const ret = this.Clone();
186
- if (other) {
187
- for (const [key, values] of other.Items()) {
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 ret;
207
+ return this;
208
+ }
209
+ Merge(...other) {
210
+ return this.Clone().MergeInplace(...other);
192
211
  }
193
212
  }
194
213
  //# sourceMappingURL=http_header.js.map