@trebired/logger 0.1.1
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/CHANGELOG.md +20 -0
- package/LICENSE +21 -0
- package/README.md +368 -0
- package/dist/constants.d.ts +7 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +46 -0
- package/dist/constants.js.map +1 -0
- package/dist/core/create_log.d.ts +4 -0
- package/dist/core/create_log.d.ts.map +1 -0
- package/dist/core/create_log.js +206 -0
- package/dist/core/create_log.js.map +1 -0
- package/dist/format/console.d.ts +6 -0
- package/dist/format/console.d.ts.map +1 -0
- package/dist/format/console.js +62 -0
- package/dist/format/console.js.map +1 -0
- package/dist/groups.d.ts +7 -0
- package/dist/groups.d.ts.map +1 -0
- package/dist/groups.js +22 -0
- package/dist/groups.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/levels/index.d.ts +7 -0
- package/dist/levels/index.d.ts.map +1 -0
- package/dist/levels/index.js +47 -0
- package/dist/levels/index.js.map +1 -0
- package/dist/metadata/process.d.ts +7 -0
- package/dist/metadata/process.d.ts.map +1 -0
- package/dist/metadata/process.js +93 -0
- package/dist/metadata/process.js.map +1 -0
- package/dist/middleware/request.d.ts +4 -0
- package/dist/middleware/request.d.ts.map +1 -0
- package/dist/middleware/request.js +32 -0
- package/dist/middleware/request.js.map +1 -0
- package/dist/storage/names.d.ts +21 -0
- package/dist/storage/names.d.ts.map +1 -0
- package/dist/storage/names.js +62 -0
- package/dist/storage/names.js.map +1 -0
- package/dist/storage/options.d.ts +5 -0
- package/dist/storage/options.d.ts.map +1 -0
- package/dist/storage/options.js +26 -0
- package/dist/storage/options.js.map +1 -0
- package/dist/storage/query.d.ts +6 -0
- package/dist/storage/query.d.ts.map +1 -0
- package/dist/storage/query.js +72 -0
- package/dist/storage/query.js.map +1 -0
- package/dist/storage/retention.d.ts +5 -0
- package/dist/storage/retention.d.ts.map +1 -0
- package/dist/storage/retention.js +50 -0
- package/dist/storage/retention.js.map +1 -0
- package/dist/storage/walk.d.ts +5 -0
- package/dist/storage/walk.d.ts.map +1 -0
- package/dist/storage/walk.js +59 -0
- package/dist/storage/walk.js.map +1 -0
- package/dist/storage/write.d.ts +38 -0
- package/dist/storage/write.d.ts.map +1 -0
- package/dist/storage/write.js +169 -0
- package/dist/storage/write.js.map +1 -0
- package/dist/stream/index.d.ts +11 -0
- package/dist/stream/index.d.ts.map +1 -0
- package/dist/stream/index.js +12 -0
- package/dist/stream/index.js.map +1 -0
- package/dist/types.d.ts +126 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/datetime.d.ts +16 -0
- package/dist/utils/datetime.d.ts.map +1 -0
- package/dist/utils/datetime.js +147 -0
- package/dist/utils/datetime.js.map +1 -0
- package/dist/utils/runtime.d.ts +6 -0
- package/dist/utils/runtime.d.ts.map +1 -0
- package/dist/utils/runtime.js +30 -0
- package/dist/utils/runtime.js.map +1 -0
- package/dist/utils/size.d.ts +3 -0
- package/dist/utils/size.d.ts.map +1 -0
- package/dist/utils/size.js +24 -0
- package/dist/utils/size.js.map +1 -0
- package/dist/utils/values.d.ts +6 -0
- package/dist/utils/values.d.ts.map +1 -0
- package/dist/utils/values.js +21 -0
- package/dist/utils/values.js.map +1 -0
- package/package.json +59 -0
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
const FALLBACK_TIME_ZONE = "America/New_York";
|
|
2
|
+
function normalizeTimeZone(input) {
|
|
3
|
+
const raw = typeof input === "string" ? input.trim() : "";
|
|
4
|
+
const candidate = raw || Intl.DateTimeFormat().resolvedOptions().timeZone || FALLBACK_TIME_ZONE;
|
|
5
|
+
try {
|
|
6
|
+
return Intl.DateTimeFormat("en-US", { timeZone: candidate }).resolvedOptions().timeZone || FALLBACK_TIME_ZONE;
|
|
7
|
+
}
|
|
8
|
+
catch {
|
|
9
|
+
return FALLBACK_TIME_ZONE;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
function normalizeLocale(input) {
|
|
13
|
+
const raw = typeof input === "string" ? input.trim() : "";
|
|
14
|
+
if (!raw)
|
|
15
|
+
return undefined;
|
|
16
|
+
try {
|
|
17
|
+
const supported = Intl.DateTimeFormat.supportedLocalesOf([raw]);
|
|
18
|
+
return supported[0];
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
function safeDate(input) {
|
|
25
|
+
const date = input instanceof Date ? input : input ? new Date(String(input)) : new Date();
|
|
26
|
+
return Number.isFinite(date.getTime()) ? date : new Date();
|
|
27
|
+
}
|
|
28
|
+
function getLocalDateTimeParts(input, timeZone) {
|
|
29
|
+
const date = safeDate(input);
|
|
30
|
+
const formatter = new Intl.DateTimeFormat("en-US", {
|
|
31
|
+
timeZone: normalizeTimeZone(timeZone),
|
|
32
|
+
year: "numeric",
|
|
33
|
+
month: "2-digit",
|
|
34
|
+
day: "2-digit",
|
|
35
|
+
hour: "2-digit",
|
|
36
|
+
minute: "2-digit",
|
|
37
|
+
second: "2-digit",
|
|
38
|
+
hourCycle: "h23",
|
|
39
|
+
});
|
|
40
|
+
const values = {};
|
|
41
|
+
for (const part of formatter.formatToParts(date)) {
|
|
42
|
+
if (part.type !== "literal")
|
|
43
|
+
values[part.type] = part.value;
|
|
44
|
+
}
|
|
45
|
+
return {
|
|
46
|
+
year: values.year || "1970",
|
|
47
|
+
month: values.month || "01",
|
|
48
|
+
day: values.day || "01",
|
|
49
|
+
hour: values.hour || "00",
|
|
50
|
+
minute: values.minute || "00",
|
|
51
|
+
second: values.second || "00",
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
const EUROPEAN_DOT_DATE_LANGUAGES = new Set([
|
|
55
|
+
"bg",
|
|
56
|
+
"cs",
|
|
57
|
+
"da",
|
|
58
|
+
"de",
|
|
59
|
+
"et",
|
|
60
|
+
"fi",
|
|
61
|
+
"hr",
|
|
62
|
+
"hu",
|
|
63
|
+
"is",
|
|
64
|
+
"lt",
|
|
65
|
+
"lv",
|
|
66
|
+
"no",
|
|
67
|
+
"pl",
|
|
68
|
+
"ro",
|
|
69
|
+
"sk",
|
|
70
|
+
"sl",
|
|
71
|
+
"sr",
|
|
72
|
+
"sv",
|
|
73
|
+
"uk",
|
|
74
|
+
]);
|
|
75
|
+
const EUROPEAN_DOT_DATE_REGIONS = new Set([
|
|
76
|
+
"AT",
|
|
77
|
+
"BA",
|
|
78
|
+
"BG",
|
|
79
|
+
"CH",
|
|
80
|
+
"CZ",
|
|
81
|
+
"DE",
|
|
82
|
+
"DK",
|
|
83
|
+
"EE",
|
|
84
|
+
"FI",
|
|
85
|
+
"HR",
|
|
86
|
+
"HU",
|
|
87
|
+
"IS",
|
|
88
|
+
"LI",
|
|
89
|
+
"LT",
|
|
90
|
+
"LV",
|
|
91
|
+
"NO",
|
|
92
|
+
"PL",
|
|
93
|
+
"RO",
|
|
94
|
+
"RS",
|
|
95
|
+
"SE",
|
|
96
|
+
"SI",
|
|
97
|
+
"SK",
|
|
98
|
+
"UA",
|
|
99
|
+
]);
|
|
100
|
+
function usesEuropeanDotDateStyle(locale) {
|
|
101
|
+
if (typeof locale !== "string" || !locale.trim())
|
|
102
|
+
return false;
|
|
103
|
+
try {
|
|
104
|
+
const parsed = new Intl.Locale(locale);
|
|
105
|
+
const language = parsed.language.toLowerCase();
|
|
106
|
+
const region = parsed.region ? parsed.region.toUpperCase() : "";
|
|
107
|
+
return EUROPEAN_DOT_DATE_LANGUAGES.has(language) || EUROPEAN_DOT_DATE_REGIONS.has(region);
|
|
108
|
+
}
|
|
109
|
+
catch {
|
|
110
|
+
const normalized = locale.toLowerCase();
|
|
111
|
+
return Array.from(EUROPEAN_DOT_DATE_LANGUAGES).some((language) => normalized === language || normalized.startsWith(`${language}-`));
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
function formatDisplayTimestamp(input, locale, timeZone) {
|
|
115
|
+
const date = safeDate(input);
|
|
116
|
+
const normalizedLocale = normalizeLocale(locale);
|
|
117
|
+
const parts = getLocalDateTimeParts(date, timeZone);
|
|
118
|
+
if (usesEuropeanDotDateStyle(normalizedLocale)) {
|
|
119
|
+
return `${parts.day}.${parts.month}.${parts.year}, ${parts.hour}:${parts.minute}:${parts.second}`;
|
|
120
|
+
}
|
|
121
|
+
try {
|
|
122
|
+
return new Intl.DateTimeFormat(normalizedLocale, {
|
|
123
|
+
timeZone: normalizeTimeZone(timeZone),
|
|
124
|
+
year: "numeric",
|
|
125
|
+
month: "2-digit",
|
|
126
|
+
day: "2-digit",
|
|
127
|
+
hour: "2-digit",
|
|
128
|
+
minute: "2-digit",
|
|
129
|
+
second: "2-digit",
|
|
130
|
+
hourCycle: "h23",
|
|
131
|
+
}).format(date);
|
|
132
|
+
}
|
|
133
|
+
catch {
|
|
134
|
+
return new Intl.DateTimeFormat(undefined, {
|
|
135
|
+
timeZone: FALLBACK_TIME_ZONE,
|
|
136
|
+
year: "numeric",
|
|
137
|
+
month: "2-digit",
|
|
138
|
+
day: "2-digit",
|
|
139
|
+
hour: "2-digit",
|
|
140
|
+
minute: "2-digit",
|
|
141
|
+
second: "2-digit",
|
|
142
|
+
hourCycle: "h23",
|
|
143
|
+
}).format(date);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
export { FALLBACK_TIME_ZONE, formatDisplayTimestamp, getLocalDateTimeParts, normalizeLocale, normalizeTimeZone };
|
|
147
|
+
//# sourceMappingURL=datetime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"datetime.js","sourceRoot":"","sources":["../../src/utils/datetime.ts"],"names":[],"mappings":"AAAA,MAAM,kBAAkB,GAAG,kBAAkB,CAAC;AAW9C,SAAS,iBAAiB,CAAC,KAAe;IACxC,MAAM,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,MAAM,SAAS,GAAG,GAAG,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,IAAI,kBAAkB,CAAC;IAEhG,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC,QAAQ,IAAI,kBAAkB,CAAC;IAChH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,kBAAkB,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,KAAe;IACtC,MAAM,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1D,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAE3B,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAChE,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,KAAe;IAC/B,MAAM,IAAI,GAAG,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;IAC1F,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;AAC7D,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc,EAAE,QAAgB;IAC7D,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7B,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;QACjD,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,CAAC;QACrC,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,SAAS;QACd,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,KAAK;KACjB,CAAC,CAAC;IACH,MAAM,MAAM,GAA2B,EAAE,CAAC;IAE1C,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;IAC9D,CAAC;IAED,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM;QAC3B,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,IAAI;QAC3B,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,IAAI;QACvB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI;QACzB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,IAAI;QAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,IAAI;KAC9B,CAAC;AACJ,CAAC;AAED,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC;IAC1C,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;CACL,CAAC,CAAC;AAEH,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC;IACxC,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;CACL,CAAC,CAAC;AAEH,SAAS,wBAAwB,CAAC,MAA0B;IAC1D,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;QAAE,OAAO,KAAK,CAAC;IAE/D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,OAAO,2BAA2B,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,yBAAyB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5F,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC;IACtI,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc,EAAE,MAA0B,EAAE,QAAgB;IAC1F,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7B,MAAM,gBAAgB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAEpD,IAAI,wBAAwB,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC/C,OAAO,GAAG,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;IACpG,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE;YAC/C,QAAQ,EAAE,iBAAiB,CAAC,QAAQ,CAAC;YACrC,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,SAAS;YACd,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE;YACxC,QAAQ,EAAE,kBAAkB;YAC5B,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,SAAS;YACd,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,eAAe,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
declare function isBunRuntime(): boolean;
|
|
2
|
+
declare function isNodeRuntime(): boolean;
|
|
3
|
+
declare function writePackageNotice(message: string): void;
|
|
4
|
+
declare function maybeShowNodeRuntimeNotice(quiet?: boolean): void;
|
|
5
|
+
export { isBunRuntime, isNodeRuntime, maybeShowNodeRuntimeNotice, writePackageNotice };
|
|
6
|
+
//# sourceMappingURL=runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/utils/runtime.ts"],"names":[],"mappings":"AAEA,iBAAS,YAAY,IAAI,OAAO,CAE/B;AAED,iBAAS,aAAa,IAAI,OAAO,CAMhC;AAED,iBAAS,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAWjD;AAED,iBAAS,0BAA0B,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI,CAOzD;AAED,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
let nodeRuntimeNoticeShown = false;
|
|
2
|
+
function isBunRuntime() {
|
|
3
|
+
return typeof globalThis !== "undefined" && typeof globalThis.Bun !== "undefined";
|
|
4
|
+
}
|
|
5
|
+
function isNodeRuntime() {
|
|
6
|
+
return (typeof process !== "undefined" &&
|
|
7
|
+
Boolean(process.versions && process.versions.node) &&
|
|
8
|
+
!isBunRuntime());
|
|
9
|
+
}
|
|
10
|
+
function writePackageNotice(message) {
|
|
11
|
+
try {
|
|
12
|
+
if (process.stderr && typeof process.stderr.write === "function") {
|
|
13
|
+
process.stderr.write(`${message}\n`);
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
catch { }
|
|
18
|
+
try {
|
|
19
|
+
console.warn(message);
|
|
20
|
+
}
|
|
21
|
+
catch { }
|
|
22
|
+
}
|
|
23
|
+
function maybeShowNodeRuntimeNotice(quiet) {
|
|
24
|
+
if (quiet === true || nodeRuntimeNoticeShown || !isNodeRuntime())
|
|
25
|
+
return;
|
|
26
|
+
nodeRuntimeNoticeShown = true;
|
|
27
|
+
writePackageNotice("[trebired.logger] Running on Node.js. @trebired/logger is compatible with Node.js and Bun, but Bun is recommended for best startup and file I/O performance. Bun is the future-facing JavaScript runtime this package is optimized for. Pass quiet: true to hide package notices.");
|
|
28
|
+
}
|
|
29
|
+
export { isBunRuntime, isNodeRuntime, maybeShowNodeRuntimeNotice, writePackageNotice };
|
|
30
|
+
//# sourceMappingURL=runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/utils/runtime.ts"],"names":[],"mappings":"AAAA,IAAI,sBAAsB,GAAG,KAAK,CAAC;AAEnC,SAAS,YAAY;IACnB,OAAO,OAAO,UAAU,KAAK,WAAW,IAAI,OAAQ,UAAkB,CAAC,GAAG,KAAK,WAAW,CAAC;AAC7F,CAAC;AAED,SAAS,aAAa;IACpB,OAAO,CACL,OAAO,OAAO,KAAK,WAAW;QAC9B,OAAO,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QAClD,CAAC,YAAY,EAAE,CAChB,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAe;IACzC,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YACjE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC;YACrC,OAAO;QACT,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;AACZ,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAe;IACjD,IAAI,KAAK,KAAK,IAAI,IAAI,sBAAsB,IAAI,CAAC,aAAa,EAAE;QAAE,OAAO;IACzE,sBAAsB,GAAG,IAAI,CAAC;IAE9B,kBAAkB,CAChB,mRAAmR,CACpR,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"size.d.ts","sourceRoot":"","sources":["../../src/utils/size.ts"],"names":[],"mappings":"AAAA,iBAAS,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAuB/E;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
function parseSize(value, fallback) {
|
|
2
|
+
if (typeof value === "number")
|
|
3
|
+
return Number.isFinite(value) && value > 0 ? Math.floor(value) : fallback;
|
|
4
|
+
const raw = String(value == null ? "" : value).trim().toLowerCase();
|
|
5
|
+
if (!raw)
|
|
6
|
+
return fallback;
|
|
7
|
+
const match = /^(\d+(?:\.\d+)?)\s*(b|kb|kib|mb|mib|gb|gib)?$/.exec(raw);
|
|
8
|
+
if (!match)
|
|
9
|
+
return fallback;
|
|
10
|
+
const amount = Number(match[1]);
|
|
11
|
+
if (!Number.isFinite(amount) || amount <= 0)
|
|
12
|
+
return fallback;
|
|
13
|
+
const unit = match[2] || "b";
|
|
14
|
+
const factor = unit === "gb" || unit === "gib"
|
|
15
|
+
? 1024 * 1024 * 1024
|
|
16
|
+
: unit === "mb" || unit === "mib"
|
|
17
|
+
? 1024 * 1024
|
|
18
|
+
: unit === "kb" || unit === "kib"
|
|
19
|
+
? 1024
|
|
20
|
+
: 1;
|
|
21
|
+
return Math.max(1, Math.floor(amount * factor));
|
|
22
|
+
}
|
|
23
|
+
export { parseSize };
|
|
24
|
+
//# sourceMappingURL=size.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"size.js","sourceRoot":"","sources":["../../src/utils/size.ts"],"names":[],"mappings":"AAAA,SAAS,SAAS,CAAC,KAAkC,EAAE,QAAgB;IACrE,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEzG,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACpE,IAAI,CAAC,GAAG;QAAE,OAAO,QAAQ,CAAC;IAE1B,MAAM,KAAK,GAAG,+CAA+C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxE,IAAI,CAAC,KAAK;QAAE,OAAO,QAAQ,CAAC;IAE5B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,QAAQ,CAAC;IAE7D,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;IAC7B,MAAM,MAAM,GACV,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK;QAC7B,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI;QACpB,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK;YAC/B,CAAC,CAAC,IAAI,GAAG,IAAI;YACb,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK;gBAC/B,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,CAAC,CAAC;IAEZ,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
declare function toString(value: unknown): string;
|
|
2
|
+
declare function asObject(value: unknown): Record<string, unknown>;
|
|
3
|
+
declare function isPlainObject(value: unknown): value is Record<string, unknown>;
|
|
4
|
+
declare function clonePlain(value: unknown): unknown;
|
|
5
|
+
export { asObject, clonePlain, isPlainObject, toString };
|
|
6
|
+
//# sourceMappingURL=values.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"values.d.ts","sourceRoot":"","sources":["../../src/utils/values.ts"],"names":[],"mappings":"AAAA,iBAAS,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAExC;AAED,iBAAS,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzD;AAED,iBAAS,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEvE;AAED,iBAAS,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAO3C;AAED,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
function toString(value) {
|
|
2
|
+
return String(value == null ? "" : value).trim();
|
|
3
|
+
}
|
|
4
|
+
function asObject(value) {
|
|
5
|
+
return value && typeof value === "object" && !Array.isArray(value) ? value : {};
|
|
6
|
+
}
|
|
7
|
+
function isPlainObject(value) {
|
|
8
|
+
return value && typeof value === "object" && !Array.isArray(value);
|
|
9
|
+
}
|
|
10
|
+
function clonePlain(value) {
|
|
11
|
+
if (Array.isArray(value))
|
|
12
|
+
return value.map(clonePlain);
|
|
13
|
+
if (!isPlainObject(value))
|
|
14
|
+
return value;
|
|
15
|
+
const out = {};
|
|
16
|
+
for (const key of Object.keys(value))
|
|
17
|
+
out[key] = clonePlain(value[key]);
|
|
18
|
+
return out;
|
|
19
|
+
}
|
|
20
|
+
export { asObject, clonePlain, isPlainObject, toString };
|
|
21
|
+
//# sourceMappingURL=values.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"values.js","sourceRoot":"","sources":["../../src/utils/values.ts"],"names":[],"mappings":"AAAA,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;AACnD,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAgC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7G,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACvD,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAExC,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,GAAG,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACxE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@trebired/logger",
|
|
3
|
+
"version": "0.1.1",
|
|
4
|
+
"description": "Structured backend logger with async JSONL storage, group-based log directories, custom weighted levels, redaction, retention, and local query helpers.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"logger",
|
|
8
|
+
"logging",
|
|
9
|
+
"structured-logging",
|
|
10
|
+
"jsonl",
|
|
11
|
+
"backend",
|
|
12
|
+
"node",
|
|
13
|
+
"bun"
|
|
14
|
+
],
|
|
15
|
+
"repository": {
|
|
16
|
+
"type": "git",
|
|
17
|
+
"url": "git+https://github.com/trebired/logger.git"
|
|
18
|
+
},
|
|
19
|
+
"bugs": {
|
|
20
|
+
"url": "https://github.com/trebired/logger/issues"
|
|
21
|
+
},
|
|
22
|
+
"homepage": "https://github.com/trebired/logger#readme",
|
|
23
|
+
"type": "module",
|
|
24
|
+
"engines": {
|
|
25
|
+
"node": ">=18",
|
|
26
|
+
"bun": ">=1.0.0"
|
|
27
|
+
},
|
|
28
|
+
"private": false,
|
|
29
|
+
"publishConfig": {
|
|
30
|
+
"access": "public"
|
|
31
|
+
},
|
|
32
|
+
"packageManager": "bun@1.3.12",
|
|
33
|
+
"main": "./dist/index.js",
|
|
34
|
+
"types": "./dist/index.d.ts",
|
|
35
|
+
"exports": {
|
|
36
|
+
".": {
|
|
37
|
+
"types": "./dist/index.d.ts",
|
|
38
|
+
"import": "./dist/index.js"
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"files": [
|
|
42
|
+
"dist",
|
|
43
|
+
"CHANGELOG.md",
|
|
44
|
+
"LICENSE",
|
|
45
|
+
"README.md"
|
|
46
|
+
],
|
|
47
|
+
"scripts": {
|
|
48
|
+
"build": "rm -rf dist && tsc -p tsconfig.build.json",
|
|
49
|
+
"bench": "bun bench/logger_bench.ts",
|
|
50
|
+
"prepublishOnly": "bun run typecheck && bun test && bun run build",
|
|
51
|
+
"test": "bun test",
|
|
52
|
+
"typecheck": "tsc --noEmit"
|
|
53
|
+
},
|
|
54
|
+
"devDependencies": {
|
|
55
|
+
"@types/bun": "^1.3.4",
|
|
56
|
+
"@types/node": "^24.10.1",
|
|
57
|
+
"typescript": "^6.0.2"
|
|
58
|
+
}
|
|
59
|
+
}
|