2 Commits

Author SHA1 Message Date
Chris Daßler
8e3a6f0ccd Fix package.json entry point to use index.ts
- Changed main field from "logger.ts" to "index.ts"
- Bumped version to 1.0.1-beta.2
- Updated IOR identifier to match new version

This fixes the LogLevel export issue where importing from the
resolved module couldn't access LogLevel because the entry point
was bypassing the proper index.ts re-exports.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-12 23:26:09 +02:00
Chris Daßler
7f874b4756 fix: add defensive checks for undefined args parameter
- Add check for args being undefined or not an array in formatMessage
- Add default empty array parameter to log method
- Prevents 'Cannot read property length of undefined' error
- Fixes issue when logger is called from async callbacks in React Native
2025-10-05 06:38:05 +02:00
2 changed files with 7 additions and 6 deletions

View File

@@ -93,7 +93,8 @@ export class LoggerComponent implements ILoggerComponent {
// Format the main message // Format the main message
let formattedMessage = message; let formattedMessage = message;
if (args.length > 0) { // Defensive check: ensure args is defined and is an array
if (args && Array.isArray(args) && args.length > 0) {
// Handle object arguments // Handle object arguments
const argStrings = args.map((arg) => { const argStrings = args.map((arg) => {
// Special handling for Error objects // Special handling for Error objects
@@ -122,10 +123,10 @@ export class LoggerComponent implements ILoggerComponent {
return `${COLORS.DIM}[${timestamp}]${COLORS.RESET} ${levelColor}[${levelName}]${COLORS.RESET} ${COLORS.BRIGHT}[${this.context}]${COLORS.RESET} ${formattedMessage}`; return `${COLORS.DIM}[${timestamp}]${COLORS.RESET} ${levelColor}[${levelName}]${COLORS.RESET} ${COLORS.BRIGHT}[${this.context}]${COLORS.RESET} ${formattedMessage}`;
} }
private log(level: LogLevel, message: string, args: unknown[]): void { private log(level: LogLevel, message: string, args: unknown[] = []): void {
if (level < this.level) return; if (level < this.level) return;
const formattedMessage = this.formatMessage(level, message, args); const formattedMessage = this.formatMessage(level, message, args || []);
switch (level) { switch (level) {
case LogLevel.TRACE: case LogLevel.TRACE:

View File

@@ -1,10 +1,10 @@
{ {
"name": "@metatrom/logger", "name": "@metatrom/logger",
"version": "1.0.0", "version": "1.0.1-beta.2",
"main": "logger.ts", "main": "index.ts",
"type": "module", "type": "module",
"metatrom": { "metatrom": {
"ior": "com.metatrom.universal-components.logger@1.0.0", "ior": "com.metatrom.universal-components.logger@1.0.1-beta.2",
"capabilities": { "capabilities": {
"p2p": false, "p2p": false,
"contracts": false, "contracts": false,