@fuel-ts/logger
Version:
A logger for the Fuel-TS ecosystem
107 lines (104 loc) • 2.79 kB
JavaScript
var __defProp = Object.defineProperty;
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
// src/index.ts
import { bn } from "@fuel-ts/math";
import debug from "debug";
// src/utils.ts
function truncateWalletAddress(walletAddress, options = {}) {
const prefixLength = options.prefixLength ?? 2;
const suffixLength = options.suffixLength ?? 4;
const walletAddressString = walletAddress.toString();
return `${walletAddressString.substring(0, prefixLength)}\u2026${walletAddressString.substring(
walletAddressString.length,
walletAddressString.length - suffixLength
)}`;
}
__name(truncateWalletAddress, "truncateWalletAddress");
// src/index.ts
function createDisabledLogger(namespace) {
const logger2 = /* @__PURE__ */ __name(() => {
}, "logger");
logger2.enabled = false;
logger2.color = "";
logger2.diff = 0;
logger2.log = () => {
};
logger2.namespace = namespace;
logger2.destroy = () => true;
logger2.extend = () => logger2;
return logger2;
}
__name(createDisabledLogger, "createDisabledLogger");
function logger(name) {
let info = createDisabledLogger(`${name}:info`);
if (debug.enabled(`${name}:info`) && debug.names.map((r) => r.toString()).find((n) => n.includes(":info")) != null) {
info = debug(`${name}:info`);
}
return Object.assign(debug(name), {
error: debug(`${name}:error`),
warn: debug(`${name}:warn`),
info
});
}
__name(logger, "logger");
function disable() {
debug.disable();
}
__name(disable, "disable");
function enable(namespaces) {
debug.enable(namespaces);
}
__name(enable, "enable");
function enabled(namespaces) {
return debug.enabled(namespaces);
}
__name(enabled, "enabled");
debug.formatters.a = (v) => {
if (!v) {
return "undefined";
}
return v.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
};
debug.formatters.b = (v) => v == null ? "undefined" : v.toB256();
debug.formatters.h = (v) => v == null ? "undefined" : v.toHex();
debug.formatters.n = (hex) => {
if (!hex) {
return "undefined";
}
try {
const bnValue = bn(hex, "hex");
return bnValue.toString();
} catch (error) {
return "invalid hex";
}
};
function prefixLogger(prefix) {
return {
forComponent(name) {
return logger(`${prefix}:${name}`);
}
};
}
__name(prefixLogger, "prefixLogger");
function walletLogger(walletAddress, options = {}) {
return prefixLogger(truncateWalletAddress(walletAddress, options));
}
__name(walletLogger, "walletLogger");
function defaultLogger() {
return {
forComponent(name) {
return logger(name);
}
};
}
__name(defaultLogger, "defaultLogger");
export {
defaultLogger,
disable,
enable,
enabled,
logger,
prefixLogger,
walletLogger
};
//# sourceMappingURL=index.mjs.map