@adviser/cement 0.2.40 → 0.2.42
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/{chunk-USQXEZHL.js → chunk-3RHIVQAA.js} +2 -2
- package/{chunk-W2GV5KXV.js → chunk-N3NUTN4B.js} +3 -3
- package/{chunk-F5W6VELE.js → chunk-N5LQQXOU.js} +2 -2
- package/chunk-PPS4L4VW.js +38 -0
- package/{chunk-GES3MUGV.js.map → chunk-PPS4L4VW.js.map} +1 -1
- package/index.cjs +500 -179
- package/index.cjs.map +1 -1
- package/index.d.cts +73 -30
- package/index.d.ts +73 -30
- package/index.js +506 -141
- package/index.js.map +1 -1
- package/node/index.js +2 -2
- package/package.json +2 -2
- package/src/http_header.ts +161 -0
- package/src/index.ts +1 -0
- package/src/jsr.json +1 -1
- package/src/log-level-impl.ts +7 -0
- package/src/logger-impl.ts +70 -43
- package/src/logger.ts +37 -9
- package/src/option.ts +7 -0
- package/src/result.ts +7 -1
- package/src/uri.ts +35 -11
- package/src/utils/relative-path.ts +161 -0
- package/ts/http_header.d.ts +29 -0
- package/ts/http_header.d.ts.map +1 -0
- package/ts/http_header.js +155 -0
- package/ts/http_header.js.map +1 -0
- package/ts/http_header.test.d.ts +2 -0
- package/ts/http_header.test.d.ts.map +1 -0
- package/ts/http_header.test.js +90 -0
- package/ts/http_header.test.js.map +1 -0
- package/ts/index.d.ts +1 -0
- package/ts/index.d.ts.map +1 -1
- package/ts/index.js +1 -0
- package/ts/index.js.map +1 -1
- package/ts/log-level-impl.d.ts +3 -0
- package/ts/log-level-impl.d.ts.map +1 -1
- package/ts/log-level-impl.js +5 -0
- package/ts/log-level-impl.js.map +1 -1
- package/ts/logger-impl.d.ts +2 -1
- package/ts/logger-impl.d.ts.map +1 -1
- package/ts/logger-impl.js +66 -47
- package/ts/logger-impl.js.map +1 -1
- package/ts/logger.d.ts +10 -1
- package/ts/logger.d.ts.map +1 -1
- package/ts/logger.js +22 -8
- package/ts/logger.js.map +1 -1
- package/ts/logger.test.js +111 -58
- package/ts/logger.test.js.map +1 -1
- package/ts/option.d.ts +1 -0
- package/ts/option.d.ts.map +1 -1
- package/ts/option.js +6 -0
- package/ts/option.js.map +1 -1
- package/ts/result.d.ts +1 -1
- package/ts/result.d.ts.map +1 -1
- package/ts/result.js +6 -0
- package/ts/result.js.map +1 -1
- package/ts/result.test.js +6 -0
- package/ts/result.test.js.map +1 -1
- package/ts/tracer.js +24 -6
- package/ts/tracer.js.map +1 -1
- package/ts/uri.d.ts +3 -1
- package/ts/uri.d.ts.map +1 -1
- package/ts/uri.js +27 -10
- package/ts/uri.js.map +1 -1
- package/ts/uri.test.js +39 -10
- package/ts/uri.test.js.map +1 -1
- package/ts/utils/relative-path.d.ts +17 -0
- package/ts/utils/relative-path.d.ts.map +1 -0
- package/ts/utils/relative-path.js +148 -0
- package/ts/utils/relative-path.js.map +1 -0
- package/ts/utils/relative-path.test.d.ts +2 -0
- package/ts/utils/relative-path.test.d.ts.map +1 -0
- package/ts/utils/relative-path.test.js +187 -0
- package/ts/utils/relative-path.test.js.map +1 -0
- package/ts/utils/stripper.js +1 -1
- package/ts/utils/stripper.js.map +1 -1
- package/utils/index.js +2 -2
- package/web/index.js +3 -3
- package/chunk-GES3MUGV.js +0 -92
- /package/{chunk-USQXEZHL.js.map → chunk-3RHIVQAA.js.map} +0 -0
- /package/{chunk-W2GV5KXV.js.map → chunk-N3NUTN4B.js.map} +0 -0
- /package/{chunk-F5W6VELE.js.map → chunk-N5LQQXOU.js.map} +0 -0
package/index.cjs
CHANGED
@@ -1,31 +1,13 @@
|
|
1
1
|
"use strict";
|
2
2
|
var __create = Object.create;
|
3
3
|
var __defProp = Object.defineProperty;
|
4
|
-
var __defProps = Object.defineProperties;
|
5
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
6
|
-
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
7
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
8
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
9
6
|
var __getProtoOf = Object.getPrototypeOf;
|
10
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
11
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
12
|
-
var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
|
13
8
|
var __typeError = (msg) => {
|
14
9
|
throw TypeError(msg);
|
15
10
|
};
|
16
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
17
|
-
var __spreadValues = (a, b) => {
|
18
|
-
for (var prop in b || (b = {}))
|
19
|
-
if (__hasOwnProp.call(b, prop))
|
20
|
-
__defNormalProp(a, prop, b[prop]);
|
21
|
-
if (__getOwnPropSymbols)
|
22
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
23
|
-
if (__propIsEnum.call(b, prop))
|
24
|
-
__defNormalProp(a, prop, b[prop]);
|
25
|
-
}
|
26
|
-
return a;
|
27
|
-
};
|
28
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
29
11
|
var __export = (target, all) => {
|
30
12
|
for (var name in all)
|
31
13
|
__defProp(target, name, { get: all[name], enumerable: true });
|
@@ -51,38 +33,6 @@ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot
|
|
51
33
|
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
52
34
|
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
53
35
|
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
54
|
-
var __await = function(promise, isYieldStar) {
|
55
|
-
this[0] = promise;
|
56
|
-
this[1] = isYieldStar;
|
57
|
-
};
|
58
|
-
var __yieldStar = (value) => {
|
59
|
-
var obj = value[__knownSymbol("asyncIterator")], isAwait = false, method, it = {};
|
60
|
-
if (obj == null) {
|
61
|
-
obj = value[__knownSymbol("iterator")]();
|
62
|
-
method = (k) => it[k] = (x) => obj[k](x);
|
63
|
-
} else {
|
64
|
-
obj = obj.call(value);
|
65
|
-
method = (k) => it[k] = (v) => {
|
66
|
-
if (isAwait) {
|
67
|
-
isAwait = false;
|
68
|
-
if (k === "throw") throw v;
|
69
|
-
return v;
|
70
|
-
}
|
71
|
-
isAwait = true;
|
72
|
-
return {
|
73
|
-
done: false,
|
74
|
-
value: new __await(new Promise((resolve) => {
|
75
|
-
var x = obj[k](v);
|
76
|
-
if (!(x instanceof Object)) __typeError("Object expected");
|
77
|
-
resolve(x);
|
78
|
-
}), 1)
|
79
|
-
};
|
80
|
-
};
|
81
|
-
}
|
82
|
-
return it[__knownSymbol("iterator")] = () => it, method("next"), "throw" in obj ? method("throw") : it.throw = (x) => {
|
83
|
-
throw x;
|
84
|
-
}, "return" in obj && method("return"), it;
|
85
|
-
};
|
86
36
|
|
87
37
|
// src/index.ts
|
88
38
|
var src_exports = {};
|
@@ -93,6 +43,8 @@ __export(src_exports, {
|
|
93
43
|
ConstTime: () => ConstTime,
|
94
44
|
EnvImpl: () => EnvImpl,
|
95
45
|
Future: () => Future,
|
46
|
+
HeadersImpl: () => HeadersImpl,
|
47
|
+
HttpHeader: () => HttpHeader,
|
96
48
|
IDMode: () => IDMode,
|
97
49
|
IdService: () => IdService,
|
98
50
|
IsLogger: () => IsLogger,
|
@@ -113,6 +65,7 @@ __export(src_exports, {
|
|
113
65
|
MutableURL: () => MutableURL,
|
114
66
|
None: () => None,
|
115
67
|
Option: () => Option,
|
68
|
+
REQUIRED: () => REQUIRED,
|
116
69
|
RandomMode: () => RandomMode,
|
117
70
|
RandomService: () => RandomService,
|
118
71
|
ResolveOnce: () => ResolveOnce,
|
@@ -224,7 +177,18 @@ var LogValue = class {
|
|
224
177
|
function asyncLogValue(val) {
|
225
178
|
throw new Error("Not implemented");
|
226
179
|
}
|
227
|
-
function logValue(val,
|
180
|
+
function logValue(val, ctx) {
|
181
|
+
return logValueInternal(val, {
|
182
|
+
...ctx,
|
183
|
+
state: ctx.state || /* @__PURE__ */ new Set([Math.random()])
|
184
|
+
});
|
185
|
+
}
|
186
|
+
function logValueInternal(val, ctx) {
|
187
|
+
var _a, _b;
|
188
|
+
ctx = {
|
189
|
+
...ctx,
|
190
|
+
state: ctx.state || /* @__PURE__ */ new Set([Math.random()])
|
191
|
+
};
|
228
192
|
switch (typeof val) {
|
229
193
|
case "function":
|
230
194
|
return new LogValue(val);
|
@@ -232,7 +196,7 @@ function logValue(val, state = /* @__PURE__ */ new Set([Math.random()])) {
|
|
232
196
|
try {
|
233
197
|
const ret = JSON.parse(val);
|
234
198
|
if (typeof ret === "object" && ret !== null) {
|
235
|
-
return
|
199
|
+
return logValueInternal(ret, ctx);
|
236
200
|
}
|
237
201
|
} catch (e) {
|
238
202
|
if (val.match(/[\n\r]/)) {
|
@@ -255,13 +219,15 @@ function logValue(val, state = /* @__PURE__ */ new Set([Math.random()])) {
|
|
255
219
|
const decoder2 = new TextDecoder();
|
256
220
|
const asStr = decoder2.decode(val);
|
257
221
|
const obj = JSON.parse(asStr);
|
258
|
-
return
|
222
|
+
return logValueInternal(obj, ctx);
|
259
223
|
} catch (e) {
|
260
|
-
return
|
224
|
+
return logValueInternal(bin2string(val, 512), ctx);
|
261
225
|
}
|
262
226
|
}
|
263
227
|
if (Array.isArray(val)) {
|
264
|
-
return new LogValue(
|
228
|
+
return new LogValue(
|
229
|
+
() => val.map((v) => logValue(v, { ...ctx, state: void 0 }).value())
|
230
|
+
);
|
265
231
|
}
|
266
232
|
if (val instanceof Headers) {
|
267
233
|
return new LogValue(() => Object.fromEntries(val.entries()));
|
@@ -272,22 +238,25 @@ function logValue(val, state = /* @__PURE__ */ new Set([Math.random()])) {
|
|
272
238
|
if (val instanceof Promise) {
|
273
239
|
return new LogValue(() => ">Promise<");
|
274
240
|
}
|
275
|
-
if (state.has(val)) {
|
241
|
+
if ((_a = ctx.state) == null ? void 0 : _a.has(val)) {
|
276
242
|
return new LogValue(() => "...");
|
277
243
|
}
|
278
|
-
state.add(val);
|
244
|
+
(_b = ctx.state) == null ? void 0 : _b.add(val);
|
279
245
|
if (typeof val.toJSON === "function") {
|
280
246
|
return new LogValue(() => val.toJSON());
|
281
247
|
}
|
282
248
|
const res = {};
|
283
249
|
const typedVal = val;
|
284
250
|
for (const key in typedVal) {
|
251
|
+
if (ctx.ignoreAttr.IsSome() && ctx.ignoreAttr.unwrap().test(key)) {
|
252
|
+
continue;
|
253
|
+
}
|
285
254
|
const element = typedVal[key];
|
286
255
|
if (element instanceof LogValue) {
|
287
256
|
res[key] = element;
|
288
257
|
} else {
|
289
258
|
if (typeof element !== "function") {
|
290
|
-
res[key] =
|
259
|
+
res[key] = logValueInternal(element, ctx);
|
291
260
|
}
|
292
261
|
}
|
293
262
|
}
|
@@ -998,6 +967,12 @@ var Result = class _Result {
|
|
998
967
|
if (typeof t === "string") {
|
999
968
|
return new ResultError(new Error(t));
|
1000
969
|
}
|
970
|
+
if (_Result.Is(t)) {
|
971
|
+
if (t.is_ok()) {
|
972
|
+
return new ResultError(new Error("Result Error is Ok"));
|
973
|
+
}
|
974
|
+
return t;
|
975
|
+
}
|
1001
976
|
return new ResultError(t);
|
1002
977
|
}
|
1003
978
|
static Is(t) {
|
@@ -1074,6 +1049,139 @@ function exception2Result(fn) {
|
|
1074
1049
|
}
|
1075
1050
|
}
|
1076
1051
|
|
1052
|
+
// src/utils/relative-path.ts
|
1053
|
+
var Path = class {
|
1054
|
+
constructor(parts = []) {
|
1055
|
+
this.parts = parts;
|
1056
|
+
}
|
1057
|
+
toString() {
|
1058
|
+
return this.parts.map((part) => {
|
1059
|
+
if (typeof part === "string") {
|
1060
|
+
return part;
|
1061
|
+
} else {
|
1062
|
+
switch (part) {
|
1063
|
+
case 1 /* Slash */:
|
1064
|
+
case 3 /* Root */:
|
1065
|
+
return "/";
|
1066
|
+
case 4 /* Up */:
|
1067
|
+
return "..";
|
1068
|
+
default:
|
1069
|
+
return part;
|
1070
|
+
}
|
1071
|
+
}
|
1072
|
+
}).join("");
|
1073
|
+
}
|
1074
|
+
add(part) {
|
1075
|
+
if (this.parts.includes(3 /* Root */) && part === 3 /* Root */) {
|
1076
|
+
throw new Error("Cannot add absolute part to absolute path");
|
1077
|
+
}
|
1078
|
+
const last = this.parts[this.parts.length - 1];
|
1079
|
+
if (last & 1 /* Slash */ && part === 1 /* Slash */) {
|
1080
|
+
return;
|
1081
|
+
}
|
1082
|
+
switch (part) {
|
1083
|
+
case ".":
|
1084
|
+
this.parts.push(8 /* Noop */);
|
1085
|
+
return;
|
1086
|
+
case "..":
|
1087
|
+
part = 4 /* Up */;
|
1088
|
+
}
|
1089
|
+
if (last === 8 /* Noop */ && part === 1 /* Slash */) {
|
1090
|
+
if (last === 8 /* Noop */) {
|
1091
|
+
this.parts.pop();
|
1092
|
+
}
|
1093
|
+
return;
|
1094
|
+
}
|
1095
|
+
this.parts.push(part);
|
1096
|
+
}
|
1097
|
+
};
|
1098
|
+
function splitPath(path) {
|
1099
|
+
const p = new Path();
|
1100
|
+
if (path === "") {
|
1101
|
+
return p;
|
1102
|
+
}
|
1103
|
+
for (let count = 0; path.length; count++) {
|
1104
|
+
if (path.match(/^\/+/)) {
|
1105
|
+
if (count === 0) {
|
1106
|
+
p.add(3 /* Root */);
|
1107
|
+
} else {
|
1108
|
+
p.add(1 /* Slash */);
|
1109
|
+
}
|
1110
|
+
path = path.replace(/^\/+/, "");
|
1111
|
+
} else {
|
1112
|
+
const part = path.replace(/\/.*$/, "");
|
1113
|
+
p.add(part);
|
1114
|
+
path = path.replace(/^[^/]+/, "");
|
1115
|
+
}
|
1116
|
+
}
|
1117
|
+
return p;
|
1118
|
+
}
|
1119
|
+
function pathJoin(...paths) {
|
1120
|
+
let prev = "";
|
1121
|
+
const res = [];
|
1122
|
+
for (let i = 0; i < paths.length; i++) {
|
1123
|
+
const path = paths[i];
|
1124
|
+
if (path === "") {
|
1125
|
+
continue;
|
1126
|
+
}
|
1127
|
+
if (!(prev.endsWith("/") || path.startsWith("/"))) {
|
1128
|
+
if (prev !== "") {
|
1129
|
+
res.push("/");
|
1130
|
+
}
|
1131
|
+
res.push(path);
|
1132
|
+
} else {
|
1133
|
+
res.push(path);
|
1134
|
+
}
|
1135
|
+
prev = path;
|
1136
|
+
}
|
1137
|
+
return res.join("");
|
1138
|
+
}
|
1139
|
+
function relativePath(path, relative) {
|
1140
|
+
const relativeParts = splitPath(relative);
|
1141
|
+
let result;
|
1142
|
+
if (relativeParts.parts[0] === 3 /* Root */) {
|
1143
|
+
result = relative;
|
1144
|
+
} else {
|
1145
|
+
result = pathJoin(path, relative);
|
1146
|
+
}
|
1147
|
+
const unoptPath = splitPath(result);
|
1148
|
+
const out = [];
|
1149
|
+
let topUp = false;
|
1150
|
+
for (const part of unoptPath.parts) {
|
1151
|
+
switch (part) {
|
1152
|
+
case 3 /* Root */:
|
1153
|
+
out.push(3 /* Root */);
|
1154
|
+
break;
|
1155
|
+
case 4 /* Up */:
|
1156
|
+
if (out.length && !topUp) {
|
1157
|
+
const last = out.length - 1;
|
1158
|
+
if (typeof out[last] === "string" && out[last - 1] == 3 /* Root */) {
|
1159
|
+
out.pop();
|
1160
|
+
} else {
|
1161
|
+
out.pop();
|
1162
|
+
out.pop();
|
1163
|
+
}
|
1164
|
+
if (out.length === 0) {
|
1165
|
+
topUp = !topUp ? true : topUp;
|
1166
|
+
out.push(4 /* Up */);
|
1167
|
+
}
|
1168
|
+
} else {
|
1169
|
+
out.push(4 /* Up */);
|
1170
|
+
}
|
1171
|
+
break;
|
1172
|
+
case 1 /* Slash */:
|
1173
|
+
if (!(out[out.length - 1] & 1 /* Slash */)) {
|
1174
|
+
out.push(1 /* Slash */);
|
1175
|
+
}
|
1176
|
+
break;
|
1177
|
+
default:
|
1178
|
+
out.push(part);
|
1179
|
+
break;
|
1180
|
+
}
|
1181
|
+
}
|
1182
|
+
return new Path(out).toString();
|
1183
|
+
}
|
1184
|
+
|
1077
1185
|
// src/utils/stripper.ts
|
1078
1186
|
function stripper(strip, obj) {
|
1079
1187
|
const strips = Array.isArray(strip) ? strip : [strip];
|
@@ -1093,7 +1201,7 @@ function localStripper(path, restrips, obj) {
|
|
1093
1201
|
if (Array.isArray(obj)) {
|
1094
1202
|
return obj.map((i) => localStripper(path, restrips, i));
|
1095
1203
|
}
|
1096
|
-
const ret =
|
1204
|
+
const ret = { ...obj };
|
1097
1205
|
const matcher = (key, nextPath) => {
|
1098
1206
|
for (const re of restrips) {
|
1099
1207
|
if (re.test(key) || re.test(nextPath)) {
|
@@ -1133,6 +1241,7 @@ function localStripper(path, restrips, obj) {
|
|
1133
1241
|
}
|
1134
1242
|
|
1135
1243
|
// src/uri.ts
|
1244
|
+
var REQUIRED = 4711;
|
1136
1245
|
function coerceKey(key, def) {
|
1137
1246
|
if (typeof key === "object") {
|
1138
1247
|
const keys = Object.keys(key);
|
@@ -1353,17 +1462,29 @@ var BuildURI = class _BuildURI {
|
|
1353
1462
|
this._url.pathname = p;
|
1354
1463
|
return this;
|
1355
1464
|
}
|
1356
|
-
|
1357
|
-
|
1358
|
-
|
1359
|
-
|
1360
|
-
|
1361
|
-
pathname = pathname.replace(/^\//, "");
|
1465
|
+
// could pass a relative path or a full URL
|
1466
|
+
// if relative path, it will be appended to the current path
|
1467
|
+
resolve(p) {
|
1468
|
+
if (!p) {
|
1469
|
+
return this;
|
1362
1470
|
}
|
1363
|
-
if (
|
1364
|
-
|
1471
|
+
if (typeof p === "string") {
|
1472
|
+
if (!p.match(/^[a-zA-Z0-9]+:/)) {
|
1473
|
+
if (p.startsWith("/")) {
|
1474
|
+
this.pathname(p);
|
1475
|
+
return this;
|
1476
|
+
}
|
1477
|
+
return this.appendRelative(p);
|
1478
|
+
}
|
1365
1479
|
}
|
1366
|
-
this.
|
1480
|
+
this._url = new MutableURL(p.toString());
|
1481
|
+
return this;
|
1482
|
+
}
|
1483
|
+
appendRelative(p) {
|
1484
|
+
const appendUrl = URI.from(p);
|
1485
|
+
const pathname = "./" + appendUrl.pathname;
|
1486
|
+
const basePath = this._url.pathname;
|
1487
|
+
this.pathname(relativePath(basePath, pathname));
|
1367
1488
|
for (const [key, value] of appendUrl.getParams) {
|
1368
1489
|
this.setParam(key, value);
|
1369
1490
|
}
|
@@ -1538,11 +1659,12 @@ var URI = class _URI {
|
|
1538
1659
|
searchParams: Object.fromEntries(this.getParams)
|
1539
1660
|
};
|
1540
1661
|
if (hasHostPartProtocols.has(this.protocol.replace(/:$/, ""))) {
|
1541
|
-
return stripper(strips,
|
1662
|
+
return stripper(strips, {
|
1663
|
+
...pathURI,
|
1542
1664
|
style: "host",
|
1543
1665
|
hostname: this.hostname,
|
1544
1666
|
port: this.port
|
1545
|
-
})
|
1667
|
+
});
|
1546
1668
|
}
|
1547
1669
|
return stripper(strips, pathURI);
|
1548
1670
|
}
|
@@ -1683,11 +1805,66 @@ var LogWriterStream = class {
|
|
1683
1805
|
}
|
1684
1806
|
};
|
1685
1807
|
|
1808
|
+
// src/option.ts
|
1809
|
+
var Option = class _Option {
|
1810
|
+
static Some(t) {
|
1811
|
+
return new Some(t);
|
1812
|
+
}
|
1813
|
+
static None() {
|
1814
|
+
return new None();
|
1815
|
+
}
|
1816
|
+
static Is(t) {
|
1817
|
+
return t instanceof _Option;
|
1818
|
+
}
|
1819
|
+
static From(t) {
|
1820
|
+
if (!t) {
|
1821
|
+
return new None();
|
1822
|
+
}
|
1823
|
+
return new Some(t);
|
1824
|
+
}
|
1825
|
+
IsNone() {
|
1826
|
+
return this.is_none();
|
1827
|
+
}
|
1828
|
+
IsSome() {
|
1829
|
+
return this.is_some();
|
1830
|
+
}
|
1831
|
+
Unwrap() {
|
1832
|
+
return this.unwrap();
|
1833
|
+
}
|
1834
|
+
};
|
1835
|
+
var Some = class extends Option {
|
1836
|
+
constructor(_t) {
|
1837
|
+
super();
|
1838
|
+
this._t = _t;
|
1839
|
+
}
|
1840
|
+
is_none() {
|
1841
|
+
return false;
|
1842
|
+
}
|
1843
|
+
is_some() {
|
1844
|
+
return true;
|
1845
|
+
}
|
1846
|
+
unwrap() {
|
1847
|
+
return this._t;
|
1848
|
+
}
|
1849
|
+
};
|
1850
|
+
var None = class extends Option {
|
1851
|
+
is_none() {
|
1852
|
+
return true;
|
1853
|
+
}
|
1854
|
+
is_some() {
|
1855
|
+
return false;
|
1856
|
+
}
|
1857
|
+
unwrap() {
|
1858
|
+
throw new Error("None.unwrap");
|
1859
|
+
}
|
1860
|
+
};
|
1861
|
+
|
1686
1862
|
// src/log-level-impl.ts
|
1687
1863
|
var LevelHandlerImpl = class {
|
1688
1864
|
constructor() {
|
1689
1865
|
this._globalLevels = /* @__PURE__ */ new Set(["info" /* INFO */, "error" /* ERROR */, "warn" /* WARN */]);
|
1690
1866
|
this._modules = /* @__PURE__ */ new Map();
|
1867
|
+
this.ignoreAttr = Option.Some(/^_/);
|
1691
1868
|
this.isStackExposed = false;
|
1692
1869
|
}
|
1693
1870
|
enableLevel(level, ...modules) {
|
@@ -1719,6 +1896,9 @@ var LevelHandlerImpl = class {
|
|
1719
1896
|
setExposeStack(enable) {
|
1720
1897
|
this.isStackExposed = !!enable;
|
1721
1898
|
}
|
1899
|
+
setIgnoreAttr(re) {
|
1900
|
+
this.ignoreAttr = Option.From(re);
|
1901
|
+
}
|
1722
1902
|
forModules(level, fnAction, ...modules) {
|
1723
1903
|
for (const m of modules.flat()) {
|
1724
1904
|
if (typeof m !== "string") {
|
@@ -1765,20 +1945,20 @@ function LevelHandlerSingleton() {
|
|
1765
1945
|
}
|
1766
1946
|
|
1767
1947
|
// src/logger-impl.ts
|
1768
|
-
function getLen(value) {
|
1948
|
+
function getLen(value, lvs) {
|
1769
1949
|
if (Array.isArray(value)) {
|
1770
|
-
return logValue(() => value.length);
|
1950
|
+
return logValue(() => value.length, lvs);
|
1771
1951
|
} else if (typeof value === "string") {
|
1772
|
-
return logValue(() => value.length);
|
1952
|
+
return logValue(() => value.length, lvs);
|
1773
1953
|
} else if (typeof value === "object" && value !== null) {
|
1774
1954
|
if (typeof value.size === "number") {
|
1775
|
-
return logValue(() => value.size);
|
1955
|
+
return logValue(() => value.size, lvs);
|
1776
1956
|
} else if (typeof value.length === "number") {
|
1777
|
-
return logValue(() => value.length);
|
1957
|
+
return logValue(() => value.length, lvs);
|
1778
1958
|
}
|
1779
|
-
return logValue(() => Object.keys(value).length);
|
1959
|
+
return logValue(() => Object.keys(value).length, lvs);
|
1780
1960
|
}
|
1781
|
-
return logValue(() => -1);
|
1961
|
+
return logValue(() => -1, lvs);
|
1782
1962
|
}
|
1783
1963
|
function hash(value) {
|
1784
1964
|
return "not implemented";
|
@@ -1813,6 +1993,11 @@ var YAMLFormatter = class {
|
|
1813
1993
|
return this._txtEnDe.encode("---\n" + import_yaml.default.stringify(attr, null, this._space) + "\n");
|
1814
1994
|
}
|
1815
1995
|
};
|
1996
|
+
function toLogValueCtx(lvh) {
|
1997
|
+
return {
|
1998
|
+
ignoreAttr: lvh.ignoreAttr
|
1999
|
+
};
|
2000
|
+
}
|
1816
2001
|
var LoggerImpl = class _LoggerImpl {
|
1817
2002
|
// readonly _id: string = "logger-" + Math.random().toString(36)
|
1818
2003
|
constructor(params) {
|
@@ -1858,13 +2043,13 @@ var LoggerImpl = class _LoggerImpl {
|
|
1858
2043
|
if (!params.withAttributes) {
|
1859
2044
|
this._withAttributes = {};
|
1860
2045
|
} else {
|
1861
|
-
this._withAttributes =
|
2046
|
+
this._withAttributes = { ...params.withAttributes };
|
1862
2047
|
}
|
1863
|
-
this._attributes =
|
2048
|
+
this._attributes = { ...this._withAttributes };
|
1864
2049
|
if (params.levelHandler) {
|
1865
|
-
this.
|
2050
|
+
this.levelHandler = params.levelHandler;
|
1866
2051
|
} else {
|
1867
|
-
this.
|
2052
|
+
this.levelHandler = LevelHandlerSingleton();
|
1868
2053
|
}
|
1869
2054
|
}
|
1870
2055
|
TxtEnDe() {
|
@@ -1874,25 +2059,29 @@ var LoggerImpl = class _LoggerImpl {
|
|
1874
2059
|
return JSON.parse(JSON.stringify(this._attributes, null));
|
1875
2060
|
}
|
1876
2061
|
SetExposeStack(enable) {
|
1877
|
-
this.
|
2062
|
+
this.levelHandler.setExposeStack(enable);
|
1878
2063
|
return this;
|
1879
2064
|
}
|
1880
2065
|
EnableLevel(level, ...modules) {
|
1881
|
-
this.
|
2066
|
+
this.levelHandler.enableLevel(level, ...modules);
|
1882
2067
|
return this;
|
1883
2068
|
}
|
1884
2069
|
DisableLevel(level, ...modules) {
|
1885
|
-
this.
|
2070
|
+
this.levelHandler.disableLevel(level, ...modules);
|
1886
2071
|
return this;
|
1887
2072
|
}
|
1888
2073
|
Module(key) {
|
1889
|
-
this._attributes["module"] = logValue(key);
|
1890
|
-
this._withAttributes["module"] = logValue(key);
|
2074
|
+
this._attributes["module"] = logValue(key, toLogValueCtx(this.levelHandler));
|
2075
|
+
this._withAttributes["module"] = logValue(key, toLogValueCtx(this.levelHandler));
|
1891
2076
|
return this;
|
1892
2077
|
}
|
1893
2078
|
// if the string is "*" it will enable for all modules
|
1894
2079
|
SetDebug(...modules) {
|
1895
|
-
this.
|
2080
|
+
this.levelHandler.setDebug(...modules);
|
2081
|
+
return this;
|
2082
|
+
}
|
2083
|
+
SetIgnoreAttribute(re) {
|
2084
|
+
this.levelHandler.setIgnoreAttr(re);
|
1896
2085
|
return this;
|
1897
2086
|
}
|
1898
2087
|
SetFormatter(formatter) {
|
@@ -1900,57 +2089,63 @@ var LoggerImpl = class _LoggerImpl {
|
|
1900
2089
|
return this;
|
1901
2090
|
}
|
1902
2091
|
Timestamp() {
|
1903
|
-
this._attributes["ts"] = logValue(() => this._sys.Time().Now().toISOString());
|
2092
|
+
this._attributes["ts"] = logValue(() => this._sys.Time().Now().toISOString(), toLogValueCtx(this.levelHandler));
|
1904
2093
|
return this;
|
1905
2094
|
}
|
1906
2095
|
Warn() {
|
1907
|
-
this._attributes["level"] = logValue("warn" /* WARN
|
2096
|
+
this._attributes["level"] = logValue("warn" /* WARN */, toLogValueCtx(this.levelHandler));
|
1908
2097
|
return this;
|
1909
2098
|
}
|
1910
2099
|
Log() {
|
1911
2100
|
return this;
|
1912
2101
|
}
|
1913
2102
|
Debug() {
|
1914
|
-
this._attributes["level"] = logValue("debug" /* DEBUG
|
2103
|
+
this._attributes["level"] = logValue("debug" /* DEBUG */, toLogValueCtx(this.levelHandler));
|
1915
2104
|
return this;
|
1916
2105
|
}
|
1917
2106
|
Error() {
|
1918
|
-
this._attributes["level"] = logValue("error" /* ERROR
|
2107
|
+
this._attributes["level"] = logValue("error" /* ERROR */, toLogValueCtx(this.levelHandler));
|
1919
2108
|
return this;
|
1920
2109
|
}
|
1921
2110
|
Info() {
|
1922
|
-
this._attributes["level"] = logValue("info" /* INFO
|
2111
|
+
this._attributes["level"] = logValue("info" /* INFO */, toLogValueCtx(this.levelHandler));
|
1923
2112
|
return this;
|
1924
2113
|
}
|
1925
2114
|
Err(err) {
|
1926
2115
|
var _a;
|
2116
|
+
let key = "error";
|
1927
2117
|
if (Result.Is(err)) {
|
1928
2118
|
if (err.isOk()) {
|
1929
|
-
|
2119
|
+
key = "noerror";
|
2120
|
+
err = err.Ok();
|
1930
2121
|
} else {
|
1931
|
-
|
2122
|
+
err = err.Err();
|
1932
2123
|
}
|
1933
|
-
}
|
1934
|
-
|
1935
|
-
|
1936
|
-
|
2124
|
+
}
|
2125
|
+
if (err instanceof Error) {
|
2126
|
+
this._attributes[key] = logValue(err.message, toLogValueCtx(this.levelHandler));
|
2127
|
+
if (this.levelHandler.isStackExposed) {
|
2128
|
+
this._attributes["stack"] = logValue(
|
2129
|
+
(_a = err.stack) == null ? void 0 : _a.split("\n").map((s) => s.trim()),
|
2130
|
+
toLogValueCtx(this.levelHandler)
|
2131
|
+
);
|
1937
2132
|
}
|
1938
2133
|
} else {
|
1939
|
-
this.
|
2134
|
+
this.Any(key, err);
|
1940
2135
|
}
|
1941
2136
|
return this;
|
1942
2137
|
}
|
1943
2138
|
WithLevel(l) {
|
1944
|
-
this._attributes["level"] = logValue(l);
|
2139
|
+
this._attributes["level"] = logValue(l, toLogValueCtx(this.levelHandler));
|
1945
2140
|
return this;
|
1946
2141
|
}
|
1947
2142
|
Ref(key, action) {
|
1948
2143
|
if (typeof action === "function") {
|
1949
|
-
this._attributes[key] = logValue(action);
|
2144
|
+
this._attributes[key] = logValue(action, toLogValueCtx(this.levelHandler));
|
1950
2145
|
} else if (typeof action.toString === "function") {
|
1951
|
-
this._attributes[key] = logValue(() => action.toString());
|
2146
|
+
this._attributes[key] = logValue(() => action.toString(), toLogValueCtx(this.levelHandler));
|
1952
2147
|
} else {
|
1953
|
-
this._attributes[key] = logValue("INVALID REF");
|
2148
|
+
this._attributes[key] = logValue("INVALID REF", toLogValueCtx(this.levelHandler));
|
1954
2149
|
}
|
1955
2150
|
return this;
|
1956
2151
|
}
|
@@ -2000,18 +2195,20 @@ var LoggerImpl = class _LoggerImpl {
|
|
2000
2195
|
}
|
2001
2196
|
Result(key, res) {
|
2002
2197
|
if (res.isOk()) {
|
2003
|
-
this._attributes[key] = logValue(res.Ok());
|
2198
|
+
this._attributes[key] = logValue(res.Ok(), toLogValueCtx(this.levelHandler));
|
2004
2199
|
} else {
|
2005
2200
|
this.Err(res.Err());
|
2006
2201
|
}
|
2007
2202
|
return this;
|
2008
2203
|
}
|
2009
2204
|
Len(value, key = "len") {
|
2010
|
-
this._attributes[key] = getLen(value);
|
2205
|
+
this._attributes[key] = getLen(value, toLogValueCtx(this.levelHandler));
|
2011
2206
|
return this;
|
2012
2207
|
}
|
2013
2208
|
Hash(value, key = "hash") {
|
2014
|
-
this._attributes[key] = asyncLogValue(
|
2209
|
+
this._attributes[key] = asyncLogValue(
|
2210
|
+
async () => `${getLen(value, toLogValueCtx(this.levelHandler)).value()}:${await hash(value)}`
|
2211
|
+
);
|
2015
2212
|
return this;
|
2016
2213
|
}
|
2017
2214
|
Url(url, key = "url") {
|
@@ -2020,7 +2217,7 @@ var LoggerImpl = class _LoggerImpl {
|
|
2020
2217
|
}
|
2021
2218
|
coerceKey(key, value) {
|
2022
2219
|
if (typeof key === "string") {
|
2023
|
-
this._attributes[key] = logValue(value);
|
2220
|
+
this._attributes[key] = logValue(value, toLogValueCtx(this.levelHandler));
|
2024
2221
|
} else {
|
2025
2222
|
this.Pair(key);
|
2026
2223
|
}
|
@@ -2034,7 +2231,7 @@ var LoggerImpl = class _LoggerImpl {
|
|
2034
2231
|
return this;
|
2035
2232
|
}
|
2036
2233
|
Dur(key, nsec) {
|
2037
|
-
this._attributes[key] = logValue(`${nsec}ms
|
2234
|
+
this._attributes[key] = logValue(`${nsec}ms`, toLogValueCtx(this.levelHandler));
|
2038
2235
|
return this;
|
2039
2236
|
}
|
2040
2237
|
Uint64(key, value) {
|
@@ -2054,11 +2251,12 @@ var LoggerImpl = class _LoggerImpl {
|
|
2054
2251
|
new _LoggerImpl({
|
2055
2252
|
logWriter: this._logWriter,
|
2056
2253
|
sys: this._sys,
|
2057
|
-
levelHandler: this.
|
2254
|
+
levelHandler: this.levelHandler,
|
2058
2255
|
formatter: this._formatter,
|
2059
|
-
withAttributes:
|
2060
|
-
module: this._attributes["module"]
|
2061
|
-
|
2256
|
+
withAttributes: {
|
2257
|
+
module: this._attributes["module"],
|
2258
|
+
...this._withAttributes
|
2259
|
+
}
|
2062
2260
|
})
|
2063
2261
|
);
|
2064
2262
|
}
|
@@ -2073,16 +2271,16 @@ var LoggerImpl = class _LoggerImpl {
|
|
2073
2271
|
Msg(...args) {
|
2074
2272
|
const fnError = this._resetAttributes(() => {
|
2075
2273
|
var _a, _b;
|
2076
|
-
const doWrite = this.
|
2274
|
+
const doWrite = this.levelHandler.isEnabled(
|
2077
2275
|
(_a = toLogValue(this._attributes["level"])) == null ? void 0 : _a.value(),
|
2078
2276
|
(_b = toLogValue(this._attributes["module"])) == null ? void 0 : _b.value()
|
2079
2277
|
);
|
2080
|
-
this._attributes["msg"] = logValue(args.join(" "));
|
2278
|
+
this._attributes["msg"] = logValue(args.join(" "), toLogValueCtx(this.levelHandler));
|
2081
2279
|
const msg = this._attributes["msg"].value();
|
2082
2280
|
if (typeof msg === "string" && !msg.trim().length) {
|
2083
2281
|
delete this._attributes["msg"];
|
2084
2282
|
}
|
2085
|
-
let fnRet = () => this._formatter.format(
|
2283
|
+
let fnRet = () => this._formatter.format({ ...this._attributes });
|
2086
2284
|
if (doWrite) {
|
2087
2285
|
const encoded = fnRet();
|
2088
2286
|
this._logWriter.write(encoded);
|
@@ -2100,6 +2298,7 @@ var LoggerImpl = class _LoggerImpl {
|
|
2100
2298
|
var WithLoggerBuilder = class {
|
2101
2299
|
constructor(li) {
|
2102
2300
|
this._li = li;
|
2301
|
+
this.levelHandler = li.levelHandler;
|
2103
2302
|
}
|
2104
2303
|
TxtEnDe() {
|
2105
2304
|
return this._li.TxtEnDe();
|
@@ -2109,10 +2308,14 @@ var WithLoggerBuilder = class {
|
|
2109
2308
|
return this._li;
|
2110
2309
|
}
|
2111
2310
|
Attributes() {
|
2112
|
-
return
|
2311
|
+
return { ...this._li._attributes };
|
2113
2312
|
}
|
2114
2313
|
SetExposeStack(enable) {
|
2115
|
-
this._li.
|
2314
|
+
this._li.levelHandler.setExposeStack(enable);
|
2315
|
+
return this;
|
2316
|
+
}
|
2317
|
+
SetIgnoreAttribute(re) {
|
2318
|
+
this._li.levelHandler.setIgnoreAttr(re);
|
2116
2319
|
return this;
|
2117
2320
|
}
|
2118
2321
|
SetFormatter(fmt) {
|
@@ -2120,11 +2323,11 @@ var WithLoggerBuilder = class {
|
|
2120
2323
|
return this;
|
2121
2324
|
}
|
2122
2325
|
EnableLevel(level, ...modules) {
|
2123
|
-
this._li.
|
2326
|
+
this._li.levelHandler.enableLevel(level, ...modules);
|
2124
2327
|
return this;
|
2125
2328
|
}
|
2126
2329
|
DisableLevel(level, ...modules) {
|
2127
|
-
this._li.
|
2330
|
+
this._li.levelHandler.enableLevel(level, ...modules);
|
2128
2331
|
return this;
|
2129
2332
|
}
|
2130
2333
|
Module(key) {
|
@@ -2311,7 +2514,7 @@ var LogCollector = class {
|
|
2311
2514
|
new Uint8Array(
|
2312
2515
|
function* (res) {
|
2313
2516
|
for (const x of res) {
|
2314
|
-
yield*
|
2517
|
+
yield* x;
|
2315
2518
|
}
|
2316
2519
|
}(this._bufferArr)
|
2317
2520
|
)
|
@@ -2349,54 +2552,6 @@ function MockLogger(params) {
|
|
2349
2552
|
};
|
2350
2553
|
}
|
2351
2554
|
|
2352
|
-
// src/option.ts
|
2353
|
-
var Option = class _Option {
|
2354
|
-
static Some(t) {
|
2355
|
-
return new Some(t);
|
2356
|
-
}
|
2357
|
-
static None() {
|
2358
|
-
return new None();
|
2359
|
-
}
|
2360
|
-
static Is(t) {
|
2361
|
-
return t instanceof _Option;
|
2362
|
-
}
|
2363
|
-
IsNone() {
|
2364
|
-
return this.is_none();
|
2365
|
-
}
|
2366
|
-
IsSome() {
|
2367
|
-
return this.is_some();
|
2368
|
-
}
|
2369
|
-
Unwrap() {
|
2370
|
-
return this.unwrap();
|
2371
|
-
}
|
2372
|
-
};
|
2373
|
-
var Some = class extends Option {
|
2374
|
-
constructor(_t) {
|
2375
|
-
super();
|
2376
|
-
this._t = _t;
|
2377
|
-
}
|
2378
|
-
is_none() {
|
2379
|
-
return false;
|
2380
|
-
}
|
2381
|
-
is_some() {
|
2382
|
-
return true;
|
2383
|
-
}
|
2384
|
-
unwrap() {
|
2385
|
-
return this._t;
|
2386
|
-
}
|
2387
|
-
};
|
2388
|
-
var None = class extends Option {
|
2389
|
-
is_none() {
|
2390
|
-
return true;
|
2391
|
-
}
|
2392
|
-
is_some() {
|
2393
|
-
return false;
|
2394
|
-
}
|
2395
|
-
unwrap() {
|
2396
|
-
throw new Error("None.unwrap");
|
2397
|
-
}
|
2398
|
-
};
|
2399
|
-
|
2400
2555
|
// src/tracer.ts
|
2401
2556
|
var Metric = class {
|
2402
2557
|
constructor(path) {
|
@@ -2478,22 +2633,24 @@ var TraceNode = class _TraceNode {
|
|
2478
2633
|
return this.ctx.parent.getRootPath(rpath.concat(this.ctx.spanId));
|
2479
2634
|
}
|
2480
2635
|
invokes() {
|
2481
|
-
const cleanCtx =
|
2636
|
+
const cleanCtx = { ...this.ctx };
|
2482
2637
|
delete cleanCtx.parent;
|
2483
2638
|
delete cleanCtx.time;
|
2484
2639
|
delete cleanCtx.logger;
|
2485
2640
|
delete cleanCtx.metrics;
|
2486
2641
|
const spanRefs = this.metrics.toJSON.call({ map: this.metrics.spanRefs });
|
2487
2642
|
const metricsRefs = Object.keys(spanRefs).length > 0 ? { metricRefs: spanRefs } : {};
|
2488
|
-
return
|
2643
|
+
return {
|
2489
2644
|
ctx: cleanCtx,
|
2490
|
-
invokations: this.invokations
|
2491
|
-
|
2645
|
+
invokations: this.invokations,
|
2646
|
+
...metricsRefs
|
2647
|
+
};
|
2492
2648
|
}
|
2493
2649
|
ctxWith(spanId, logger) {
|
2494
|
-
const ctx =
|
2650
|
+
const ctx = {
|
2651
|
+
...this.ctx,
|
2495
2652
|
spanId
|
2496
|
-
}
|
2653
|
+
};
|
2497
2654
|
if (logger) {
|
2498
2655
|
ctx.logger = logger;
|
2499
2656
|
}
|
@@ -2503,17 +2660,23 @@ var TraceNode = class _TraceNode {
|
|
2503
2660
|
span(inSpanId, fn) {
|
2504
2661
|
let ctx;
|
2505
2662
|
if (typeof inSpanId === "string") {
|
2506
|
-
ctx =
|
2663
|
+
ctx = {
|
2664
|
+
...this.ctx,
|
2507
2665
|
spanId: inSpanId,
|
2508
2666
|
parent: this
|
2509
|
-
}
|
2667
|
+
};
|
2510
2668
|
} else {
|
2511
|
-
ctx =
|
2669
|
+
ctx = {
|
2670
|
+
...this.ctx,
|
2671
|
+
...inSpanId,
|
2512
2672
|
parent: this
|
2513
|
-
}
|
2673
|
+
};
|
2514
2674
|
}
|
2515
2675
|
if (ctx.logger) {
|
2516
|
-
ctx =
|
2676
|
+
ctx = {
|
2677
|
+
...ctx,
|
2678
|
+
...ctx.logger.Attributes()
|
2679
|
+
};
|
2517
2680
|
}
|
2518
2681
|
const spanId = ctx.spanId;
|
2519
2682
|
let spanTrace = this.childs.get(spanId);
|
@@ -2577,6 +2740,161 @@ var VERSION = Object.keys({
|
|
2577
2740
|
__packageVersion__: "xxxx"
|
2578
2741
|
})[0];
|
2579
2742
|
|
2743
|
+
// src/http_header.ts
|
2744
|
+
var HeadersImpl = class extends Headers {
|
2745
|
+
constructor(init) {
|
2746
|
+
super();
|
2747
|
+
this._headers = init;
|
2748
|
+
}
|
2749
|
+
[Symbol.iterator]() {
|
2750
|
+
return this.entries();
|
2751
|
+
}
|
2752
|
+
entries() {
|
2753
|
+
return this._headers.entries();
|
2754
|
+
}
|
2755
|
+
keys() {
|
2756
|
+
return this._headers.keys();
|
2757
|
+
}
|
2758
|
+
values() {
|
2759
|
+
return this._headers.values();
|
2760
|
+
}
|
2761
|
+
append(key, value) {
|
2762
|
+
const values = this._headers.get(key);
|
2763
|
+
if (typeof value === "undefined") {
|
2764
|
+
value = "";
|
2765
|
+
}
|
2766
|
+
if (Array.isArray(value)) {
|
2767
|
+
this._headers.set(key, [values, ...value].filter((i) => i).join(", "));
|
2768
|
+
} else {
|
2769
|
+
this._headers.set(key, [values, value].filter((i) => i).join(", "));
|
2770
|
+
}
|
2771
|
+
return this;
|
2772
|
+
}
|
2773
|
+
};
|
2774
|
+
var HttpHeader = class _HttpHeader {
|
2775
|
+
constructor() {
|
2776
|
+
this._headers = /* @__PURE__ */ new Map();
|
2777
|
+
}
|
2778
|
+
static from(headers) {
|
2779
|
+
const h = new _HttpHeader();
|
2780
|
+
if (headers) {
|
2781
|
+
if (Array.isArray(headers)) {
|
2782
|
+
for (const [k, v] of headers) {
|
2783
|
+
if (v) {
|
2784
|
+
h.Add(k, v);
|
2785
|
+
}
|
2786
|
+
}
|
2787
|
+
} else if (headers instanceof Headers) {
|
2788
|
+
for (const [k, v] of headers.entries()) {
|
2789
|
+
if (v) {
|
2790
|
+
h.Add(
|
2791
|
+
k,
|
2792
|
+
v.split(",").map((v2) => v2.trim())
|
2793
|
+
);
|
2794
|
+
}
|
2795
|
+
}
|
2796
|
+
} else {
|
2797
|
+
for (const k in headers) {
|
2798
|
+
const v = headers[k];
|
2799
|
+
if (v) {
|
2800
|
+
h.Add(k, v);
|
2801
|
+
}
|
2802
|
+
}
|
2803
|
+
}
|
2804
|
+
}
|
2805
|
+
return h;
|
2806
|
+
}
|
2807
|
+
_asStringString() {
|
2808
|
+
const ret = /* @__PURE__ */ new Map();
|
2809
|
+
for (const [key, values] of this._headers) {
|
2810
|
+
ret.set(key, values.join(", "));
|
2811
|
+
}
|
2812
|
+
return ret;
|
2813
|
+
}
|
2814
|
+
_key(key) {
|
2815
|
+
return key.toLowerCase();
|
2816
|
+
}
|
2817
|
+
Values(key) {
|
2818
|
+
const values = this._headers.get(this._key(key));
|
2819
|
+
return values || [];
|
2820
|
+
}
|
2821
|
+
Get(key) {
|
2822
|
+
const values = this._headers.get(this._key(key));
|
2823
|
+
if (values === void 0 || values.length === 0) {
|
2824
|
+
return void 0;
|
2825
|
+
}
|
2826
|
+
return values[0];
|
2827
|
+
}
|
2828
|
+
Set(key, valueOr) {
|
2829
|
+
const value = Array.isArray(valueOr) ? valueOr : [valueOr];
|
2830
|
+
this._headers.set(this._key(key), value);
|
2831
|
+
return this;
|
2832
|
+
}
|
2833
|
+
Add(key, value) {
|
2834
|
+
if (typeof value === "undefined") {
|
2835
|
+
return this;
|
2836
|
+
}
|
2837
|
+
const vs = Array.isArray(value) ? value : [value];
|
2838
|
+
const values = this._headers.get(this._key(key));
|
2839
|
+
if (values === void 0) {
|
2840
|
+
this._headers.set(this._key(key), vs);
|
2841
|
+
} else {
|
2842
|
+
values.push(...vs);
|
2843
|
+
}
|
2844
|
+
return this;
|
2845
|
+
}
|
2846
|
+
Del(ey) {
|
2847
|
+
this._headers.delete(this._key(ey));
|
2848
|
+
return this;
|
2849
|
+
}
|
2850
|
+
Items() {
|
2851
|
+
return Array.from(this._headers).filter(([_, vs]) => vs.length > 0);
|
2852
|
+
}
|
2853
|
+
SortItems() {
|
2854
|
+
return this.Items().sort(([[a]], [[b]]) => a.localeCompare(b));
|
2855
|
+
}
|
2856
|
+
Clone() {
|
2857
|
+
const clone = new _HttpHeader();
|
2858
|
+
for (const [key, values] of this._headers.entries()) {
|
2859
|
+
clone._headers.set(key, values.slice());
|
2860
|
+
}
|
2861
|
+
return clone;
|
2862
|
+
}
|
2863
|
+
AsRecordStringStringArray() {
|
2864
|
+
const obj = {};
|
2865
|
+
for (const [key, values] of this._headers.entries()) {
|
2866
|
+
obj[key] = [...values];
|
2867
|
+
}
|
2868
|
+
return obj;
|
2869
|
+
}
|
2870
|
+
AsRecordStringString() {
|
2871
|
+
const obj = {};
|
2872
|
+
for (const [key, values] of this._headers.entries()) {
|
2873
|
+
obj[key] = values.join(", ");
|
2874
|
+
}
|
2875
|
+
return obj;
|
2876
|
+
}
|
2877
|
+
AsHeaderInit() {
|
2878
|
+
const obj = {};
|
2879
|
+
for (const [key, values] of this._headers.entries()) {
|
2880
|
+
obj[key] = values[0];
|
2881
|
+
}
|
2882
|
+
return obj;
|
2883
|
+
}
|
2884
|
+
AsHeaders() {
|
2885
|
+
return new HeadersImpl(this._asStringString());
|
2886
|
+
}
|
2887
|
+
Merge(other) {
|
2888
|
+
const ret = this.Clone();
|
2889
|
+
if (other) {
|
2890
|
+
for (const [key, values] of other.Items()) {
|
2891
|
+
ret.Add(key, values);
|
2892
|
+
}
|
2893
|
+
}
|
2894
|
+
return ret;
|
2895
|
+
}
|
2896
|
+
};
|
2897
|
+
|
2580
2898
|
// src/utils/index.ts
|
2581
2899
|
var utils_exports = {};
|
2582
2900
|
__export(utils_exports, {
|
@@ -2783,6 +3101,8 @@ function uint8array2stream(str) {
|
|
2783
3101
|
ConstTime,
|
2784
3102
|
EnvImpl,
|
2785
3103
|
Future,
|
3104
|
+
HeadersImpl,
|
3105
|
+
HttpHeader,
|
2786
3106
|
IDMode,
|
2787
3107
|
IdService,
|
2788
3108
|
IsLogger,
|
@@ -2803,6 +3123,7 @@ function uint8array2stream(str) {
|
|
2803
3123
|
MutableURL,
|
2804
3124
|
None,
|
2805
3125
|
Option,
|
3126
|
+
REQUIRED,
|
2806
3127
|
RandomMode,
|
2807
3128
|
RandomService,
|
2808
3129
|
ResolveOnce,
|