+283
-1
@@ -199,2 +199,281 @@ // src/utils.ts | ||
| // src/append.ts | ||
| var {appendFile, mkdir} = (() => ({})); | ||
| // node:path | ||
| var L = Object.create; | ||
| var h = Object.defineProperty; | ||
| var D = Object.getOwnPropertyDescriptor; | ||
| var T = Object.getOwnPropertyNames; | ||
| var _ = Object.getPrototypeOf; | ||
| var E = Object.prototype.hasOwnProperty; | ||
| var R = (s, e) => () => (e || s((e = { exports: {} }).exports, e), e.exports); | ||
| var N = (s, e, r, t) => { | ||
| if (e && typeof e == "object" || typeof e == "function") | ||
| for (let i of T(e)) | ||
| !E.call(s, i) && i !== r && h(s, i, { get: () => e[i], enumerable: !(t = D(e, i)) || t.enumerable }); | ||
| return s; | ||
| }; | ||
| var j = (s, e, r) => (r = s != null ? L(_(s)) : {}, N(e || !s || !s.__esModule ? h(r, "default", { value: s, enumerable: true }) : r, s)); | ||
| var k = R((W, w) => { | ||
| function v(s) { | ||
| if (typeof s != "string") | ||
| throw new TypeError("Path must be a string. Received " + JSON.stringify(s)); | ||
| } | ||
| function C(s, e) { | ||
| for (var r = "", t = 0, i = -1, a = 0, n, l = 0;l <= s.length; ++l) { | ||
| if (l < s.length) | ||
| n = s.charCodeAt(l); | ||
| else { | ||
| if (n === 47) | ||
| break; | ||
| n = 47; | ||
| } | ||
| if (n === 47) { | ||
| if (!(i === l - 1 || a === 1)) | ||
| if (i !== l - 1 && a === 2) { | ||
| if (r.length < 2 || t !== 2 || r.charCodeAt(r.length - 1) !== 46 || r.charCodeAt(r.length - 2) !== 46) { | ||
| if (r.length > 2) { | ||
| var f = r.lastIndexOf("/"); | ||
| if (f !== r.length - 1) { | ||
| f === -1 ? (r = "", t = 0) : (r = r.slice(0, f), t = r.length - 1 - r.lastIndexOf("/")), i = l, a = 0; | ||
| continue; | ||
| } | ||
| } else if (r.length === 2 || r.length === 1) { | ||
| r = "", t = 0, i = l, a = 0; | ||
| continue; | ||
| } | ||
| } | ||
| e && (r.length > 0 ? r += "/.." : r = "..", t = 2); | ||
| } else | ||
| r.length > 0 ? r += "/" + s.slice(i + 1, l) : r = s.slice(i + 1, l), t = l - i - 1; | ||
| i = l, a = 0; | ||
| } else | ||
| n === 46 && a !== -1 ? ++a : a = -1; | ||
| } | ||
| return r; | ||
| } | ||
| function F(s, e) { | ||
| var r = e.dir || e.root, t = e.base || (e.name || "") + (e.ext || ""); | ||
| return r ? r === e.root ? r + t : r + s + t : t; | ||
| } | ||
| var m = { resolve: function() { | ||
| for (var e = "", r = false, t, i = arguments.length - 1;i >= -1 && !r; i--) { | ||
| var a; | ||
| i >= 0 ? a = arguments[i] : (t === undefined && (t = process.cwd()), a = t), v(a), a.length !== 0 && (e = a + "/" + e, r = a.charCodeAt(0) === 47); | ||
| } | ||
| return e = C(e, !r), r ? e.length > 0 ? "/" + e : "/" : e.length > 0 ? e : "."; | ||
| }, normalize: function(e) { | ||
| if (v(e), e.length === 0) | ||
| return "."; | ||
| var r = e.charCodeAt(0) === 47, t = e.charCodeAt(e.length - 1) === 47; | ||
| return e = C(e, !r), e.length === 0 && !r && (e = "."), e.length > 0 && t && (e += "/"), r ? "/" + e : e; | ||
| }, isAbsolute: function(e) { | ||
| return v(e), e.length > 0 && e.charCodeAt(0) === 47; | ||
| }, join: function() { | ||
| if (arguments.length === 0) | ||
| return "."; | ||
| for (var e, r = 0;r < arguments.length; ++r) { | ||
| var t = arguments[r]; | ||
| v(t), t.length > 0 && (e === undefined ? e = t : e += "/" + t); | ||
| } | ||
| return e === undefined ? "." : m.normalize(e); | ||
| }, relative: function(e, r) { | ||
| if (v(e), v(r), e === r || (e = m.resolve(e), r = m.resolve(r), e === r)) | ||
| return ""; | ||
| for (var t = 1;t < e.length && e.charCodeAt(t) === 47; ++t) | ||
| ; | ||
| for (var i = e.length, a = i - t, n = 1;n < r.length && r.charCodeAt(n) === 47; ++n) | ||
| ; | ||
| for (var l = r.length, f = l - n, c = a < f ? a : f, d = -1, o = 0;o <= c; ++o) { | ||
| if (o === c) { | ||
| if (f > c) { | ||
| if (r.charCodeAt(n + o) === 47) | ||
| return r.slice(n + o + 1); | ||
| if (o === 0) | ||
| return r.slice(n + o); | ||
| } else | ||
| a > c && (e.charCodeAt(t + o) === 47 ? d = o : o === 0 && (d = 0)); | ||
| break; | ||
| } | ||
| var A = e.charCodeAt(t + o), z = r.charCodeAt(n + o); | ||
| if (A !== z) | ||
| break; | ||
| A === 47 && (d = o); | ||
| } | ||
| var b = ""; | ||
| for (o = t + d + 1;o <= i; ++o) | ||
| (o === i || e.charCodeAt(o) === 47) && (b.length === 0 ? b += ".." : b += "/.."); | ||
| return b.length > 0 ? b + r.slice(n + d) : (n += d, r.charCodeAt(n) === 47 && ++n, r.slice(n)); | ||
| }, _makeLong: function(e) { | ||
| return e; | ||
| }, dirname: function(e) { | ||
| if (v(e), e.length === 0) | ||
| return "."; | ||
| for (var r = e.charCodeAt(0), t = r === 47, i = -1, a = true, n = e.length - 1;n >= 1; --n) | ||
| if (r = e.charCodeAt(n), r === 47) { | ||
| if (!a) { | ||
| i = n; | ||
| break; | ||
| } | ||
| } else | ||
| a = false; | ||
| return i === -1 ? t ? "/" : "." : t && i === 1 ? "//" : e.slice(0, i); | ||
| }, basename: function(e, r) { | ||
| if (r !== undefined && typeof r != "string") | ||
| throw new TypeError('"ext" argument must be a string'); | ||
| v(e); | ||
| var t = 0, i = -1, a = true, n; | ||
| if (r !== undefined && r.length > 0 && r.length <= e.length) { | ||
| if (r.length === e.length && r === e) | ||
| return ""; | ||
| var l = r.length - 1, f = -1; | ||
| for (n = e.length - 1;n >= 0; --n) { | ||
| var c = e.charCodeAt(n); | ||
| if (c === 47) { | ||
| if (!a) { | ||
| t = n + 1; | ||
| break; | ||
| } | ||
| } else | ||
| f === -1 && (a = false, f = n + 1), l >= 0 && (c === r.charCodeAt(l) ? --l === -1 && (i = n) : (l = -1, i = f)); | ||
| } | ||
| return t === i ? i = f : i === -1 && (i = e.length), e.slice(t, i); | ||
| } else { | ||
| for (n = e.length - 1;n >= 0; --n) | ||
| if (e.charCodeAt(n) === 47) { | ||
| if (!a) { | ||
| t = n + 1; | ||
| break; | ||
| } | ||
| } else | ||
| i === -1 && (a = false, i = n + 1); | ||
| return i === -1 ? "" : e.slice(t, i); | ||
| } | ||
| }, extname: function(e) { | ||
| v(e); | ||
| for (var r = -1, t = 0, i = -1, a = true, n = 0, l = e.length - 1;l >= 0; --l) { | ||
| var f = e.charCodeAt(l); | ||
| if (f === 47) { | ||
| if (!a) { | ||
| t = l + 1; | ||
| break; | ||
| } | ||
| continue; | ||
| } | ||
| i === -1 && (a = false, i = l + 1), f === 46 ? r === -1 ? r = l : n !== 1 && (n = 1) : r !== -1 && (n = -1); | ||
| } | ||
| return r === -1 || i === -1 || n === 0 || n === 1 && r === i - 1 && r === t + 1 ? "" : e.slice(r, i); | ||
| }, format: function(e) { | ||
| if (e === null || typeof e != "object") | ||
| throw new TypeError('The "pathObject" argument must be of type Object. Received type ' + typeof e); | ||
| return F("/", e); | ||
| }, parse: function(e) { | ||
| v(e); | ||
| var r = { root: "", dir: "", base: "", ext: "", name: "" }; | ||
| if (e.length === 0) | ||
| return r; | ||
| var t = e.charCodeAt(0), i = t === 47, a; | ||
| i ? (r.root = "/", a = 1) : a = 0; | ||
| for (var n = -1, l = 0, f = -1, c = true, d = e.length - 1, o = 0;d >= a; --d) { | ||
| if (t = e.charCodeAt(d), t === 47) { | ||
| if (!c) { | ||
| l = d + 1; | ||
| break; | ||
| } | ||
| continue; | ||
| } | ||
| f === -1 && (c = false, f = d + 1), t === 46 ? n === -1 ? n = d : o !== 1 && (o = 1) : n !== -1 && (o = -1); | ||
| } | ||
| return n === -1 || f === -1 || o === 0 || o === 1 && n === f - 1 && n === l + 1 ? f !== -1 && (l === 0 && i ? r.base = r.name = e.slice(1, f) : r.base = r.name = e.slice(l, f)) : (l === 0 && i ? (r.name = e.slice(1, n), r.base = e.slice(1, f)) : (r.name = e.slice(l, n), r.base = e.slice(l, f)), r.ext = e.slice(n, f)), l > 0 ? r.dir = e.slice(0, l - 1) : i && (r.dir = "/"), r; | ||
| }, sep: "/", delimiter: ":", win32: null, posix: null }; | ||
| m.posix = m; | ||
| w.exports = m; | ||
| }); | ||
| var x = j(k()); | ||
| var u = x; | ||
| var J = x; | ||
| var P = function(s) { | ||
| return s; | ||
| }; | ||
| var S = function() { | ||
| throw new Error("Not implemented"); | ||
| }; | ||
| u.parse ??= S; | ||
| J.parse ??= S; | ||
| var g = { resolve: u.resolve.bind(u), normalize: u.normalize.bind(u), isAbsolute: u.isAbsolute.bind(u), join: u.join.bind(u), relative: u.relative.bind(u), toNamespacedPath: P, dirname: u.dirname.bind(u), basename: u.basename.bind(u), extname: u.extname.bind(u), format: u.format.bind(u), parse: u.parse.bind(u), sep: "/", delimiter: ":", win32: undefined, posix: undefined, _makeLong: P }; | ||
| var y = { sep: "\\", delimiter: ";", win32: undefined, ...g, posix: g }; | ||
| g.win32 = y.win32 = y; | ||
| g.posix = g; | ||
| var { resolve: B, normalize: G, isAbsolute: H, join: K, relative: Q, toNamespacedPath: U, dirname: V, basename: X, extname: Y, format: Z, parse: $, sep: I, delimiter: O } = g; | ||
| // src/append.ts | ||
| async function appendFileWrppaer(filePath, data) { | ||
| const dir = V(filePath); | ||
| await mkdir(dir, { recursive: true }); | ||
| await appendFile(filePath, data, { encoding: "utf8" }); | ||
| } | ||
| // src/file-provider.ts | ||
| var defaultFormat = (logEnt) => { | ||
| const objToJson = { | ||
| level: logEnt.level, | ||
| prefix: logEnt.prefix, | ||
| time: new Date().toISOString(), | ||
| msg: logEnt.message, | ||
| ...logEnt.props | ||
| }; | ||
| if ("error" in logEnt.props) { | ||
| objToJson.error = { | ||
| messgae: logEnt.props.error.message, | ||
| stack: logEnt.props.error.stack | ||
| }; | ||
| } | ||
| if (objToJson.msg === "") { | ||
| delete objToJson.msg; | ||
| } | ||
| if (objToJson.prefix === "") { | ||
| delete objToJson.prefix; | ||
| } | ||
| const json = JSON.stringify(objToJson); | ||
| return json; | ||
| }; | ||
| class FileProvider { | ||
| formatter = defaultFormat; | ||
| pathsToFiles; | ||
| constructor({ | ||
| errorPath, | ||
| debugPath, | ||
| warnPath, | ||
| infoPath | ||
| }) { | ||
| this.pathsToFiles = { | ||
| infoPath, | ||
| errorPath: errorPath ?? infoPath, | ||
| warnPath: warnPath ?? infoPath, | ||
| debugPath: debugPath ?? infoPath | ||
| }; | ||
| const self = this; | ||
| this.writer = new WritableStream({ | ||
| async write(logEnt) { | ||
| if (logEnt.level === "info") { | ||
| await self.appendFile(self.formatter(logEnt), self.pathsToFiles.infoPath); | ||
| } else if (logEnt.level === "debug") { | ||
| await self.appendFile(self.formatter(logEnt), self.pathsToFiles.debugPath); | ||
| } else if (logEnt.level === "error") { | ||
| await self.appendFile(self.formatter(logEnt), self.pathsToFiles.errorPath); | ||
| } else if (logEnt.level === "warn") { | ||
| await self.appendFile(self.formatter(logEnt), self.pathsToFiles.warnPath); | ||
| } | ||
| } | ||
| }); | ||
| } | ||
| writer; | ||
| async appendFile(str, pathToFile) { | ||
| await appendFileWrppaer(pathToFile, str + ` | ||
| `); | ||
| } | ||
| } | ||
| // src/balg.ts | ||
@@ -206,3 +485,6 @@ var createLogger = (props = {}) => { | ||
| createLogger, | ||
| Logger | ||
| Logger, | ||
| FileProvider, | ||
| ConsoleProviderProd, | ||
| ConsoleProviderDev | ||
| }; |
| import { Logger, type LoggerProps } from "./logger.ts"; | ||
| import { ConsoleProviderDev, ConsoleProviderProd } from "./console-provider.ts"; | ||
| import { FileProvider } from "./file-provider.ts"; | ||
| export declare const createLogger: (props?: LoggerProps) => Logger; | ||
| export { Logger }; | ||
| export { Logger, ConsoleProviderDev, ConsoleProviderProd, FileProvider }; |
+1
-1
@@ -5,3 +5,3 @@ { | ||
| "type": "module", | ||
| "version": "0.0.1", | ||
| "version": "0.0.2", | ||
| "scripts": { | ||
@@ -8,0 +8,0 @@ "build-file-provider": "bun build ./src/file-provider.ts --target node --outdir ./dist", |
20240
104.67%632
80.06%