@rabby-wallet/rabby-logger 0.2.1-alpha

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/dist/format.js ADDED
@@ -0,0 +1,276 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MaskedLogValue = void 0;
4
+ exports.serializeLogValue = serializeLogValue;
5
+ exports.buildInlineMessageFromArgs = buildInlineMessageFromArgs;
6
+ exports.serializeLogArgs = serializeLogArgs;
7
+ exports.formatLogLine = formatLogLine;
8
+ exports.formatDateFolder = formatDateFolder;
9
+ exports.formatFileTimestamp = formatFileTimestamp;
10
+ exports.createDefaultSessionId = createDefaultSessionId;
11
+ class MaskedLogValue {
12
+ constructor(value) {
13
+ this.value = value;
14
+ }
15
+ }
16
+ exports.MaskedLogValue = MaskedLogValue;
17
+ const FILE_TIMESTAMP_SEPARATOR = "_";
18
+ const HEADER_PREFIX = "@rabby-log/v1";
19
+ function pad2(value) {
20
+ return String(value).padStart(2, "0");
21
+ }
22
+ function pad3(value) {
23
+ return String(value).padStart(3, "0");
24
+ }
25
+ function isPlainObject(value) {
26
+ if (!value || typeof value !== "object") {
27
+ return false;
28
+ }
29
+ const prototype = Object.getPrototypeOf(value);
30
+ return prototype === Object.prototype || prototype === null;
31
+ }
32
+ function sanitizeHeaderToken(value) {
33
+ return String(value !== null && value !== void 0 ? value : "").replace(/\s+/g, "_");
34
+ }
35
+ function truncateText(value, maxLen = 500) {
36
+ if (value.length <= maxLen) {
37
+ return value;
38
+ }
39
+ return `${value.slice(0, maxLen - 3)}...`;
40
+ }
41
+ function maskString(value) {
42
+ if (!value) {
43
+ return "***";
44
+ }
45
+ return "*".repeat(Math.min(Math.max(value.length, 3), 32));
46
+ }
47
+ function maskValue(value, seen, depth, maxDepth) {
48
+ var _a, _b;
49
+ if (value === null ||
50
+ value === undefined ||
51
+ typeof value === "number" ||
52
+ typeof value === "boolean" ||
53
+ typeof value === "bigint" ||
54
+ typeof value === "symbol" ||
55
+ typeof value === "function") {
56
+ return "***";
57
+ }
58
+ if (typeof value === "string") {
59
+ return maskString(value);
60
+ }
61
+ if (value instanceof Date) {
62
+ return "***";
63
+ }
64
+ if (value instanceof Error) {
65
+ const result = {
66
+ $type: value.name || "Error",
67
+ message: "***",
68
+ };
69
+ if (value.stack) {
70
+ result.stack = "***";
71
+ }
72
+ if ("cause" in value && value.cause !== undefined) {
73
+ result.cause = maskValue(value.cause, seen, depth + 1, maxDepth);
74
+ }
75
+ Object.keys(value).forEach((key) => {
76
+ if (key === "message" || key === "stack" || key === "cause") {
77
+ return;
78
+ }
79
+ result[key] = maskValue(value[key], seen, depth + 1, maxDepth);
80
+ });
81
+ return result;
82
+ }
83
+ if (Array.isArray(value)) {
84
+ if (depth >= maxDepth) {
85
+ return `***[${value.length}]`;
86
+ }
87
+ return value.map((item) => maskValue(item, seen, depth + 1, maxDepth));
88
+ }
89
+ if (ArrayBuffer.isView(value)) {
90
+ return `***[${value.constructor.name}]`;
91
+ }
92
+ if (value instanceof ArrayBuffer) {
93
+ return "***[ArrayBuffer]";
94
+ }
95
+ if (typeof value === "object") {
96
+ if (seen.has(value)) {
97
+ return "[Circular]";
98
+ }
99
+ seen.add(value);
100
+ if (depth >= maxDepth) {
101
+ return `***[${((_a = value.constructor) === null || _a === void 0 ? void 0 : _a.name) || "Object"}]`;
102
+ }
103
+ if (!isPlainObject(value)) {
104
+ return {
105
+ $type: ((_b = value.constructor) === null || _b === void 0 ? void 0 : _b.name) || "Object",
106
+ };
107
+ }
108
+ const output = {};
109
+ Object.keys(value).forEach((key) => {
110
+ output[key] = maskValue(value[key], seen, depth + 1, maxDepth);
111
+ });
112
+ return output;
113
+ }
114
+ return "***";
115
+ }
116
+ function serializeError(error, seen, depth, maxDepth) {
117
+ const result = {
118
+ $type: error.name || "Error",
119
+ message: error.message,
120
+ };
121
+ if (error.stack) {
122
+ result.stack = error.stack;
123
+ }
124
+ if ("cause" in error && error.cause !== undefined) {
125
+ result.cause = serializeLogValue(error.cause, seen, depth + 1, maxDepth);
126
+ }
127
+ Object.keys(error).forEach((key) => {
128
+ if (key === "message" || key === "stack" || key === "cause") {
129
+ return;
130
+ }
131
+ result[key] = serializeLogValue(error[key], seen, depth + 1, maxDepth);
132
+ });
133
+ return result;
134
+ }
135
+ function serializeLogValue(value, seen = new WeakSet(), depth = 0, maxDepth = 6) {
136
+ var _a, _b;
137
+ if (value instanceof MaskedLogValue) {
138
+ return maskValue(value.value, seen, depth, maxDepth);
139
+ }
140
+ if (value === null ||
141
+ typeof value === "string" ||
142
+ typeof value === "boolean") {
143
+ return value;
144
+ }
145
+ if (typeof value === "number") {
146
+ if (Number.isNaN(value)) {
147
+ return "[NaN]";
148
+ }
149
+ if (!Number.isFinite(value)) {
150
+ return String(value);
151
+ }
152
+ return value;
153
+ }
154
+ if (typeof value === "undefined") {
155
+ return "[undefined]";
156
+ }
157
+ if (typeof value === "bigint") {
158
+ return `${value.toString()}n`;
159
+ }
160
+ if (typeof value === "symbol") {
161
+ return value.toString();
162
+ }
163
+ if (typeof value === "function") {
164
+ return `[Function ${value.name || "anonymous"}]`;
165
+ }
166
+ if (value instanceof Date) {
167
+ return Number.isNaN(value.getTime())
168
+ ? "[Invalid Date]"
169
+ : value.toISOString();
170
+ }
171
+ if (value instanceof Error) {
172
+ return serializeError(value, seen, depth, maxDepth);
173
+ }
174
+ if (Array.isArray(value)) {
175
+ if (seen.has(value)) {
176
+ return "[Circular]";
177
+ }
178
+ seen.add(value);
179
+ if (depth >= maxDepth) {
180
+ return `[Array(${value.length})]`;
181
+ }
182
+ return value.map((item) => serializeLogValue(item, seen, depth + 1, maxDepth));
183
+ }
184
+ if (ArrayBuffer.isView(value)) {
185
+ return `[${value.constructor.name}(${value.byteLength})]`;
186
+ }
187
+ if (value instanceof ArrayBuffer) {
188
+ return `[ArrayBuffer(${value.byteLength})]`;
189
+ }
190
+ if (typeof value === "object") {
191
+ if (seen.has(value)) {
192
+ return "[Circular]";
193
+ }
194
+ seen.add(value);
195
+ if (depth >= maxDepth) {
196
+ return `[${((_a = value.constructor) === null || _a === void 0 ? void 0 : _a.name) || "Object"}]`;
197
+ }
198
+ if (!isPlainObject(value)) {
199
+ const output = {
200
+ $type: ((_b = value.constructor) === null || _b === void 0 ? void 0 : _b.name) || "Object",
201
+ };
202
+ Object.keys(value).forEach((key) => {
203
+ output[key] = serializeLogValue(value[key], seen, depth + 1, maxDepth);
204
+ });
205
+ return output;
206
+ }
207
+ const output = {};
208
+ Object.keys(value).forEach((key) => {
209
+ output[key] = serializeLogValue(value[key], seen, depth + 1, maxDepth);
210
+ });
211
+ return output;
212
+ }
213
+ return String(value);
214
+ }
215
+ function stringifyForInlineText(value) {
216
+ if (typeof value === "string") {
217
+ return value;
218
+ }
219
+ if (value === null ||
220
+ typeof value === "boolean" ||
221
+ typeof value === "number") {
222
+ return String(value);
223
+ }
224
+ return JSON.stringify(value);
225
+ }
226
+ function buildInlineMessageFromArgs(args) {
227
+ if (!args.length) {
228
+ return "";
229
+ }
230
+ return truncateText(args
231
+ .map((item) => stringifyForInlineText(item))
232
+ .filter(Boolean)
233
+ .join(" "));
234
+ }
235
+ function serializeLogArgs(args) {
236
+ return args.map((item) => serializeLogValue(item));
237
+ }
238
+ function formatLogLine(record) {
239
+ const header = [
240
+ HEADER_PREFIX,
241
+ `ts=${sanitizeHeaderToken(record.timestamp)}`,
242
+ `lvl=${sanitizeHeaderToken(record.level)}`,
243
+ `src=${sanitizeHeaderToken(record.source)}`,
244
+ `method=${sanitizeHeaderToken(record.method)}`,
245
+ `env=${sanitizeHeaderToken(record.env)}`,
246
+ `sid=${sanitizeHeaderToken(record.sessionId)}`,
247
+ `seq=${record.sequence}`,
248
+ "fmt=json",
249
+ record.platform ? `platform=${sanitizeHeaderToken(record.platform)}` : "",
250
+ ]
251
+ .filter(Boolean)
252
+ .join(" ");
253
+ return `${header} ${JSON.stringify(record.body)}\n`;
254
+ }
255
+ function formatDateFolder(date) {
256
+ return [
257
+ date.getFullYear(),
258
+ pad2(date.getMonth() + 1),
259
+ pad2(date.getDate()),
260
+ ].join("-");
261
+ }
262
+ function formatFileTimestamp(date) {
263
+ return [
264
+ formatDateFolder(date),
265
+ [
266
+ pad2(date.getHours()),
267
+ pad2(date.getMinutes()),
268
+ pad2(date.getSeconds()),
269
+ ].join("-"),
270
+ pad3(date.getMilliseconds()),
271
+ ].join(FILE_TIMESTAMP_SEPARATOR);
272
+ }
273
+ function createDefaultSessionId(date = new Date()) {
274
+ return [formatFileTimestamp(date), Math.random().toString(36).slice(2, 8)].join("-");
275
+ }
276
+ //# sourceMappingURL=format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":";;;AAgNA,8CAwHC;AAkBD,gEAWC;AAED,4CAEC;AAED,sCAiBC;AAED,4CAMC;AAED,kDAUC;AAED,wDAIC;AApZD,MAAa,cAAc;IACzB,YAAqB,KAAQ;QAAR,UAAK,GAAL,KAAK,CAAG;IAAG,CAAC;CAClC;AAFD,wCAEC;AA0BD,MAAM,wBAAwB,GAAG,GAAG,CAAC;AACrC,MAAM,aAAa,GAAG,eAAe,CAAC;AAEtC,SAAS,IAAI,CAAC,KAAa;IACzB,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,IAAI,CAAC,KAAa;IACzB,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/C,OAAO,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,SAAS,KAAK,IAAI,CAAC;AAC9D,CAAC;AAED,SAAS,mBAAmB,CAAC,KAA4C;IACvE,OAAO,MAAM,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,YAAY,CAAC,KAAa,EAAE,MAAM,GAAG,GAAG;IAC/C,IAAI,KAAK,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC;AAC5C,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,SAAS,CAChB,KAAc,EACd,IAAqB,EACrB,KAAa,EACb,QAAgB;;IAEhB,IACE,KAAK,KAAK,IAAI;QACd,KAAK,KAAK,SAAS;QACnB,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,SAAS;QAC1B,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,UAAU,EAC3B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAyC;YACnD,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,OAAO;YAC5B,OAAO,EAAE,KAAK;SACf,CAAC;QAEF,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QACvB,CAAC;QAED,IAAI,OAAO,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAClD,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACjC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;gBAC5D,OAAO;YACT,CAAC;YAED,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CACpB,KAA4C,CAAC,GAAG,CAAC,EAClD,IAAI,EACJ,KAAK,GAAG,CAAC,EACT,QAAQ,CACT,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,KAAK,IAAI,QAAQ,EAAE,CAAC;YACtB,OAAO,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC;QAChC,CAAC;QAED,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC;IAC1C,CAAC;IAED,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;QACjC,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACpB,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEhB,IAAI,KAAK,IAAI,QAAQ,EAAE,CAAC;YACtB,OAAO,OAAO,CAAA,MAAA,KAAK,CAAC,WAAW,0CAAE,IAAI,KAAI,QAAQ,GAAG,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO;gBACL,KAAK,EAAE,CAAA,MAAA,KAAK,CAAC,WAAW,0CAAE,IAAI,KAAI,QAAQ;aAC3C,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAyC,EAAE,CAAC;QACxD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACjC,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CACpB,KAAiC,CAAC,GAAG,CAAC,EACvC,IAAI,EACJ,KAAK,GAAG,CAAC,EACT,QAAQ,CACT,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CACrB,KAAY,EACZ,IAAqB,EACrB,KAAa,EACb,QAAgB;IAEhB,MAAM,MAAM,GAAyC;QACnD,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,OAAO;QAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC;IAEF,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC7B,CAAC;IAED,IAAI,OAAO,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAClD,MAAM,CAAC,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACjC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YAC5D,OAAO;QACT,CAAC;QAED,MAAM,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAC5B,KAA4C,CAAC,GAAG,CAAC,EAClD,IAAI,EACJ,KAAK,GAAG,CAAC,EACT,QAAQ,CACT,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,iBAAiB,CAC/B,KAAc,EACd,OAAwB,IAAI,OAAO,EAAE,EACrC,KAAK,GAAG,CAAC,EACT,QAAQ,GAAG,CAAC;;IAEZ,IAAI,KAAK,YAAY,cAAc,EAAE,CAAC;QACpC,OAAO,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED,IACE,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,SAAS,EAC1B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;QACjC,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC;IAChC,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QAChC,OAAO,aAAa,KAAK,CAAC,IAAI,IAAI,WAAW,GAAG,CAAC;IACnD,CAAC;IAED,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YAClC,CAAC,CAAC,gBAAgB;YAClB,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IAC1B,CAAC;IAED,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACpB,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEhB,IAAI,KAAK,IAAI,QAAQ,EAAE,CAAC;YACtB,OAAO,UAAU,KAAK,CAAC,MAAM,IAAI,CAAC;QACpC,CAAC;QAED,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACxB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,QAAQ,CAAC,CACnD,CAAC;IACJ,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC;IAC5D,CAAC;IAED,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;QACjC,OAAO,gBAAgB,KAAK,CAAC,UAAU,IAAI,CAAC;IAC9C,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACpB,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEhB,IAAI,KAAK,IAAI,QAAQ,EAAE,CAAC;YACtB,OAAO,IAAI,CAAA,MAAA,KAAK,CAAC,WAAW,0CAAE,IAAI,KAAI,QAAQ,GAAG,CAAC;QACpD,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAyC;gBACnD,KAAK,EAAE,CAAA,MAAA,KAAK,CAAC,WAAW,0CAAE,IAAI,KAAI,QAAQ;aAC3C,CAAC;YAEF,MAAM,CAAC,IAAI,CAAC,KAAgC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC5D,MAAM,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAC5B,KAAiC,CAAC,GAAG,CAAC,EACvC,IAAI,EACJ,KAAK,GAAG,CAAC,EACT,QAAQ,CACT,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,MAAM,GAAyC,EAAE,CAAC;QACxD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACjC,MAAM,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAC5B,KAAiC,CAAC,GAAG,CAAC,EACvC,IAAI,EACJ,KAAK,GAAG,CAAC,EACT,QAAQ,CACT,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,SAAS,sBAAsB,CAAC,KAA2B;IACzD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IACE,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,SAAS;QAC1B,OAAO,KAAK,KAAK,QAAQ,EACzB,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,SAAgB,0BAA0B,CAAC,IAA4B;IACrE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,YAAY,CACjB,IAAI;SACD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;SAC3C,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,CAAC,CACb,CAAC;AACJ,CAAC;AAED,SAAgB,gBAAgB,CAAC,IAAe;IAC9C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,SAAgB,aAAa,CAAC,MAA0B;IACtD,MAAM,MAAM,GAAG;QACb,aAAa;QACb,MAAM,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;QAC7C,OAAO,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QAC1C,OAAO,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;QAC3C,UAAU,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;QAC9C,OAAO,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;QACxC,OAAO,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;QAC9C,OAAO,MAAM,CAAC,QAAQ,EAAE;QACxB,UAAU;QACV,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;KAC1E;SACE,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,CAAC,CAAC;IAEb,OAAO,GAAG,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AACtD,CAAC;AAED,SAAgB,gBAAgB,CAAC,IAAU;IACzC,OAAO;QACL,IAAI,CAAC,WAAW,EAAE;QAClB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;KACrB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC;AAED,SAAgB,mBAAmB,CAAC,IAAU;IAC5C,OAAO;QACL,gBAAgB,CAAC,IAAI,CAAC;QACtB;YACE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;SACxB,CAAC,IAAI,CAAC,GAAG,CAAC;QACX,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;KAC7B,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;AACnC,CAAC;AAED,SAAgB,sBAAsB,CAAC,OAAa,IAAI,IAAI,EAAE;IAC5D,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAC7E,GAAG,CACJ,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ export * from "./core";
2
+ export * from "./format";
3
+ export * from "./parse";
4
+ export * from "./rollingZipWriter";
5
+ export * from "./types";
6
+ export * from "./writer";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./core"), exports);
18
+ __exportStar(require("./format"), exports);
19
+ __exportStar(require("./parse"), exports);
20
+ __exportStar(require("./rollingZipWriter"), exports);
21
+ __exportStar(require("./types"), exports);
22
+ __exportStar(require("./writer"), exports);
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,2CAAyB;AACzB,0CAAwB;AACxB,qDAAmC;AACnC,0CAAwB;AACxB,2CAAyB"}
@@ -0,0 +1,21 @@
1
+ import { type ParseLineContext, type ParseLineResult, type RabbyMergedLogDataset, type RabbyParsedLogFile, type RabbyParsedLogInput, type RabbyParsedLogRecord } from "./types";
2
+ export declare function parseRabbyLogLine(line: string, context: ParseLineContext): ParseLineResult;
3
+ export declare function sortParsedLogRecordsDescending(records: RabbyParsedLogRecord[]): RabbyParsedLogRecord[];
4
+ export declare function parseRabbyLogTextFile(text: string, options: {
5
+ inputName: string;
6
+ fileName: string;
7
+ archiveName?: string;
8
+ entryName?: string;
9
+ }): RabbyParsedLogFile;
10
+ export declare function parseRabbyLogTextInput(text: string, inputName: string): {
11
+ inputName: string;
12
+ kind: "log";
13
+ files: RabbyParsedLogFile[];
14
+ records: RabbyParsedLogRecord[];
15
+ issues: import("./types").RabbyLogParseIssue[];
16
+ };
17
+ export declare function parseRabbyLogArchiveBytes(archiveBytes: Uint8Array | ArrayBuffer, inputName: string): RabbyParsedLogInput;
18
+ export declare function mergeParsedLogInputs(inputs: RabbyParsedLogInput[]): RabbyMergedLogDataset;
19
+ export declare function isZipLikeFileName(fileName: string): boolean;
20
+ export declare function parseRabbyLogInputBytes(fileName: string, bytes: Uint8Array | ArrayBuffer): RabbyParsedLogInput;
21
+ //# sourceMappingURL=parse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,eAAe,EAEpB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAE1B,MAAM,SAAS,CAAC;AA4EjB,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,gBAAgB,GACxB,eAAe,CAqHjB;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,oBAAoB,EAAE,0BAwBhC;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;IACP,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GACA,kBAAkB,CAkCpB;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;;;;;;EAcrE;AAED,wBAAgB,yBAAyB,CACvC,YAAY,EAAE,UAAU,GAAG,WAAW,EACtC,SAAS,EAAE,MAAM,GAChB,mBAAmB,CA4CrB;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,EAAE,GAAG,qBAAqB,CASzF;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,WAEjD;AAED,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,UAAU,GAAG,WAAW,uBAOhC"}
package/dist/parse.js ADDED
@@ -0,0 +1,276 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseRabbyLogLine = parseRabbyLogLine;
4
+ exports.sortParsedLogRecordsDescending = sortParsedLogRecordsDescending;
5
+ exports.parseRabbyLogTextFile = parseRabbyLogTextFile;
6
+ exports.parseRabbyLogTextInput = parseRabbyLogTextInput;
7
+ exports.parseRabbyLogArchiveBytes = parseRabbyLogArchiveBytes;
8
+ exports.mergeParsedLogInputs = mergeParsedLogInputs;
9
+ exports.isZipLikeFileName = isZipLikeFileName;
10
+ exports.parseRabbyLogInputBytes = parseRabbyLogInputBytes;
11
+ const fflate_1 = require("fflate");
12
+ const types_1 = require("./types");
13
+ function toUint8Array(value) {
14
+ if (value instanceof Uint8Array) {
15
+ return value;
16
+ }
17
+ return new Uint8Array(value);
18
+ }
19
+ function basename(value) {
20
+ return value.split(/[\\/]/).pop() || value;
21
+ }
22
+ function buildRecordId(record) {
23
+ return [
24
+ record.inputName,
25
+ record.archiveName || "",
26
+ record.entryName || record.fileName,
27
+ String(record.lineNumber),
28
+ ].join(":");
29
+ }
30
+ function getTimestampMs(value) {
31
+ if (!value) {
32
+ return null;
33
+ }
34
+ const timestampMs = Date.parse(value);
35
+ return Number.isFinite(timestampMs) ? timestampMs : null;
36
+ }
37
+ function getSequence(value) {
38
+ if (!value) {
39
+ return null;
40
+ }
41
+ const parsed = Number.parseInt(value, 10);
42
+ return Number.isFinite(parsed) ? parsed : null;
43
+ }
44
+ function extractMessage(body) {
45
+ if (body &&
46
+ typeof body === "object" &&
47
+ "message" in body &&
48
+ typeof body.message === "string") {
49
+ return body.message;
50
+ }
51
+ return "";
52
+ }
53
+ function buildIssue(message, context, kind) {
54
+ return {
55
+ kind,
56
+ inputName: context.inputName,
57
+ archiveName: context.archiveName,
58
+ entryName: context.entryName,
59
+ fileName: context.fileName,
60
+ lineNumber: context.lineNumber,
61
+ message,
62
+ };
63
+ }
64
+ function parseRabbyLogLine(line, context) {
65
+ const rawLine = line.replace(/\r$/, "");
66
+ if (!rawLine.startsWith(types_1.RABBY_LOG_PROTOCOL_PREFIX)) {
67
+ return {
68
+ ok: false,
69
+ issue: {
70
+ ...buildIssue("Line does not start with a supported Rabby log protocol marker.", context, "invalid-line"),
71
+ rawLine,
72
+ },
73
+ };
74
+ }
75
+ const jsonBodyStart = rawLine.indexOf("{");
76
+ if (jsonBodyStart === -1) {
77
+ return {
78
+ ok: false,
79
+ issue: {
80
+ ...buildIssue("Line is missing a JSON body payload.", context, "invalid-line"),
81
+ rawLine,
82
+ },
83
+ };
84
+ }
85
+ const headerPart = rawLine.slice(0, jsonBodyStart).trimEnd();
86
+ const bodyPart = rawLine.slice(jsonBodyStart);
87
+ const headerTokens = headerPart.split(/\s+/);
88
+ const protocolVersion = headerTokens[0];
89
+ const fieldTokens = headerTokens.slice(1);
90
+ const headerFields = {};
91
+ fieldTokens.forEach((token) => {
92
+ const separatorIndex = token.indexOf("=");
93
+ if (separatorIndex === -1) {
94
+ return;
95
+ }
96
+ const key = token.slice(0, separatorIndex);
97
+ const value = token.slice(separatorIndex + 1);
98
+ if (!key) {
99
+ return;
100
+ }
101
+ headerFields[key] = value;
102
+ });
103
+ if (headerFields.fmt && headerFields.fmt !== "json") {
104
+ return {
105
+ ok: false,
106
+ issue: {
107
+ ...buildIssue(`Unsupported log body format "${headerFields.fmt}".`, context, "unsupported-format"),
108
+ rawLine,
109
+ },
110
+ };
111
+ }
112
+ let body;
113
+ try {
114
+ body = JSON.parse(bodyPart);
115
+ }
116
+ catch (error) {
117
+ const message = error instanceof Error ? error.message : "Unknown JSON parse failure";
118
+ return {
119
+ ok: false,
120
+ issue: {
121
+ ...buildIssue(`Failed to parse JSON body: ${message}`, context, "invalid-json"),
122
+ rawLine,
123
+ },
124
+ };
125
+ }
126
+ const record = {
127
+ id: buildRecordId(context),
128
+ inputName: context.inputName,
129
+ archiveName: context.archiveName,
130
+ entryName: context.entryName,
131
+ fileName: context.fileName,
132
+ lineNumber: context.lineNumber,
133
+ protocolVersion,
134
+ headerFields,
135
+ headerTokens: fieldTokens,
136
+ timestamp: headerFields.ts || null,
137
+ timestampMs: getTimestampMs(headerFields.ts),
138
+ level: headerFields.lvl || null,
139
+ source: headerFields.src || null,
140
+ method: headerFields.method || null,
141
+ env: headerFields.env || null,
142
+ sessionId: headerFields.sid || null,
143
+ sequence: getSequence(headerFields.seq),
144
+ format: headerFields.fmt || null,
145
+ platform: headerFields.platform,
146
+ message: extractMessage(body),
147
+ body,
148
+ rawLine,
149
+ };
150
+ return {
151
+ ok: true,
152
+ record,
153
+ };
154
+ }
155
+ function sortParsedLogRecordsDescending(records) {
156
+ return [...records].sort((left, right) => {
157
+ var _a, _b, _c, _d;
158
+ const leftTimestamp = (_a = left.timestampMs) !== null && _a !== void 0 ? _a : Number.NEGATIVE_INFINITY;
159
+ const rightTimestamp = (_b = right.timestampMs) !== null && _b !== void 0 ? _b : Number.NEGATIVE_INFINITY;
160
+ if (leftTimestamp !== rightTimestamp) {
161
+ return rightTimestamp - leftTimestamp;
162
+ }
163
+ const leftSequence = (_c = left.sequence) !== null && _c !== void 0 ? _c : Number.NEGATIVE_INFINITY;
164
+ const rightSequence = (_d = right.sequence) !== null && _d !== void 0 ? _d : Number.NEGATIVE_INFINITY;
165
+ if (leftSequence !== rightSequence) {
166
+ return rightSequence - leftSequence;
167
+ }
168
+ const leftFile = `${left.archiveName || ""}/${left.entryName || left.fileName}`;
169
+ const rightFile = `${right.archiveName || ""}/${right.entryName || right.fileName}`;
170
+ const fileComparison = rightFile.localeCompare(leftFile);
171
+ if (fileComparison !== 0) {
172
+ return fileComparison;
173
+ }
174
+ return right.lineNumber - left.lineNumber;
175
+ });
176
+ }
177
+ function parseRabbyLogTextFile(text, options) {
178
+ const records = [];
179
+ const issues = [];
180
+ const lines = text.split(/\n/);
181
+ lines.forEach((line, index) => {
182
+ if (!line.trim()) {
183
+ return;
184
+ }
185
+ const parsedLine = parseRabbyLogLine(line, {
186
+ inputName: options.inputName,
187
+ fileName: options.fileName,
188
+ archiveName: options.archiveName,
189
+ entryName: options.entryName,
190
+ lineNumber: index + 1,
191
+ });
192
+ if (parsedLine.ok) {
193
+ records.push(parsedLine.record);
194
+ return;
195
+ }
196
+ issues.push(parsedLine.issue);
197
+ });
198
+ return {
199
+ inputName: options.inputName,
200
+ archiveName: options.archiveName,
201
+ entryName: options.entryName,
202
+ fileName: options.fileName,
203
+ records: sortParsedLogRecordsDescending(records),
204
+ issues,
205
+ };
206
+ }
207
+ function parseRabbyLogTextInput(text, inputName) {
208
+ const fileName = basename(inputName);
209
+ const file = parseRabbyLogTextFile(text, {
210
+ inputName: fileName,
211
+ fileName,
212
+ });
213
+ return {
214
+ inputName: fileName,
215
+ kind: "log",
216
+ files: [file],
217
+ records: file.records,
218
+ issues: file.issues,
219
+ };
220
+ }
221
+ function parseRabbyLogArchiveBytes(archiveBytes, inputName) {
222
+ const archiveName = basename(inputName);
223
+ const entries = (0, fflate_1.unzipSync)(toUint8Array(archiveBytes));
224
+ const files = [];
225
+ const issues = [];
226
+ Object.entries(entries)
227
+ .sort(([leftName], [rightName]) => leftName.localeCompare(rightName))
228
+ .forEach(([entryName, entryBytes]) => {
229
+ if (!entryName.endsWith(".log")) {
230
+ return;
231
+ }
232
+ const file = parseRabbyLogTextFile((0, fflate_1.strFromU8)(entryBytes), {
233
+ inputName: archiveName,
234
+ archiveName,
235
+ entryName,
236
+ fileName: basename(entryName),
237
+ });
238
+ files.push(file);
239
+ issues.push(...file.issues);
240
+ });
241
+ if (!files.length) {
242
+ issues.push({
243
+ kind: "unsupported-file",
244
+ inputName: archiveName,
245
+ archiveName,
246
+ fileName: archiveName,
247
+ message: "Archive does not contain any .log entries.",
248
+ });
249
+ }
250
+ const records = sortParsedLogRecordsDescending(files.flatMap((file) => file.records));
251
+ return {
252
+ inputName: archiveName,
253
+ kind: "zip",
254
+ files,
255
+ records,
256
+ issues,
257
+ };
258
+ }
259
+ function mergeParsedLogInputs(inputs) {
260
+ return {
261
+ inputs,
262
+ files: inputs.flatMap((input) => input.files),
263
+ issues: inputs.flatMap((input) => input.issues),
264
+ records: sortParsedLogRecordsDescending(inputs.flatMap((input) => input.records)),
265
+ };
266
+ }
267
+ function isZipLikeFileName(fileName) {
268
+ return fileName.toLowerCase().endsWith(".zip");
269
+ }
270
+ function parseRabbyLogInputBytes(fileName, bytes) {
271
+ if (isZipLikeFileName(fileName)) {
272
+ return parseRabbyLogArchiveBytes(bytes, fileName);
273
+ }
274
+ return parseRabbyLogTextInput((0, fflate_1.strFromU8)(toUint8Array(bytes)), fileName);
275
+ }
276
+ //# sourceMappingURL=parse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../src/parse.ts"],"names":[],"mappings":"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"}