(rawData, strategy)
| 7 | */ |
| 8 | |
| 9 | export function processData(rawData, strategy) { |
| 10 | const allData = getAllEntries(rawData); |
| 11 | |
| 12 | const processed = { |
| 13 | modules: {}, |
| 14 | classes: {}, |
| 15 | classitems: [], |
| 16 | consts: {}, |
| 17 | classMethods: {} |
| 18 | }; |
| 19 | |
| 20 | // Build module info lookup (exact same logic as convert.mjs) |
| 21 | const fileModuleInfo = {}; |
| 22 | const modules = {}; |
| 23 | const submodules = {}; |
| 24 | |
| 25 | for (const entry of allData) { |
| 26 | if (entry.tags?.some(tag => tag.title === 'module')) { |
| 27 | const module = entry.tags.find(tag => tag.title === 'module').name; |
| 28 | const submoduleTag = entry.tags.find(tag => tag.title === 'submodule'); |
| 29 | const submodule = submoduleTag ? submoduleTag.description : undefined; |
| 30 | const forTag = entry.tags.find(tag => tag.title === 'for'); |
| 31 | const forEntry = forTag ? forTag.description : undefined; |
| 32 | const file = entry.context.file; |
| 33 | |
| 34 | fileModuleInfo[file] = fileModuleInfo[file] || { |
| 35 | module: undefined, |
| 36 | submodule: undefined, |
| 37 | for: undefined |
| 38 | }; |
| 39 | fileModuleInfo[file].module = module; |
| 40 | fileModuleInfo[file].submodule = fileModuleInfo[file].submodule || submodule; |
| 41 | fileModuleInfo[file].for = fileModuleInfo[file].for || forEntry; |
| 42 | |
| 43 | modules[module] = modules[module] || { |
| 44 | name: module, |
| 45 | submodules: {}, |
| 46 | classes: {} |
| 47 | }; |
| 48 | if (submodule) { |
| 49 | modules[module].submodules[submodule] = 1; |
| 50 | submodules[submodule] = submodules[submodule] || { |
| 51 | name: submodule, |
| 52 | module, |
| 53 | is_submodule: 1 |
| 54 | }; |
| 55 | } |
| 56 | } |
| 57 | } |
| 58 | |
| 59 | // Copy modules to processed data |
| 60 | for (const key in modules) { |
| 61 | processed.modules[key] = modules[key]; |
| 62 | } |
| 63 | for (const key in submodules) { |
| 64 | if (processed.modules[key]) continue; |
| 65 | processed.modules[key] = submodules[key]; |
| 66 | } |
no test coverage detected