@webarray/esphome-native-api
Version:
TypeScript/Node.js client for ESPHome native API with encryption and deep sleep support
39 lines • 1.36 kB
JavaScript
;
/**
* Logger utility for ESPHome Native API
* Supports both debug package and custom loggers (e.g., Homey)
*/
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createLogger = createLogger;
exports.setupGlobalLogger = setupGlobalLogger;
const debug_1 = __importDefault(require("debug"));
/**
* Create a logger function that uses either a custom logger or the debug package
*/
function createLogger(namespace, customLogger) {
if (customLogger) {
// Use custom logger
return (message, ...args) => {
customLogger(namespace, message, ...args);
};
}
// Use standard debug package
const debug = (0, debug_1.default)(namespace);
return (message, ...args) => {
debug(message, ...args);
};
}
/**
* Set up global debug logging redirect
* Useful when you want to redirect all debug output
*/
function setupGlobalLogger(logFunction) {
// Access the debug module instance through createDebug
// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access
debug_1.default.log = logFunction;
debug_1.default.enable('esphome:*');
}
//# sourceMappingURL=logger.js.map