From 1e291be7b5625c2c8a181199253ead87ef919f21 Mon Sep 17 00:00:00 2001 From: Oleh Omelchenko Date: Sun, 19 Oct 2025 14:23:09 +0300 Subject: [PATCH] refactor: improve dataset item formatting and ensure consistent handling of unknown formats --- src/js/dataset-manager.js | 8 +++++--- src/js/snippet-manager.js | 4 ++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/js/dataset-manager.js b/src/js/dataset-manager.js index 5b35fc9..044208a 100644 --- a/src/js/dataset-manager.js +++ b/src/js/dataset-manager.js @@ -290,15 +290,17 @@ async function renderDatasetList() { // Format individual dataset items const formatDatasetItem = (dataset) => { let metaText; + const formatLabel = dataset.format ? dataset.format.toUpperCase() : 'UNKNOWN'; + if (dataset.source === 'url') { // Show metadata if available, otherwise just URL and format if (dataset.rowCount !== null && dataset.size !== null) { - metaText = `URL • ${dataset.rowCount} rows • ${dataset.format.toUpperCase()} • ${formatBytes(dataset.size)}`; + metaText = `URL • ${dataset.rowCount} rows • ${formatLabel} • ${formatBytes(dataset.size)}`; } else { - metaText = `URL • ${dataset.format.toUpperCase()}`; + metaText = `URL • ${formatLabel}`; } } else { - metaText = `${dataset.rowCount} rows • ${dataset.format.toUpperCase()} • ${formatBytes(dataset.size)}`; + metaText = `${dataset.rowCount} rows • ${formatLabel} • ${formatBytes(dataset.size)}`; } // Count snippet usage and create badge diff --git a/src/js/snippet-manager.js b/src/js/snippet-manager.js index bced6cd..a408e3e 100644 --- a/src/js/snippet-manager.js +++ b/src/js/snippet-manager.js @@ -30,11 +30,11 @@ function traverseSpec(spec, callback, defaultReturn = null) { for (const key of NESTED_SPEC_KEYS) { if (Array.isArray(spec[key])) { for (const item of spec[key]) { - const result = traverseSpec(item, callback, undefined); + const result = traverseSpec(item, callback, defaultReturn); if (result !== undefined) return result; } } else if (spec[key] && typeof spec[key] === 'object') { - const result = traverseSpec(spec[key], callback, undefined); + const result = traverseSpec(spec[key], callback, defaultReturn); if (result !== undefined) return result; } }