diff options
Diffstat (limited to 'src/zenserver/frontend/html/indexer/worker.js')
| -rw-r--r-- | src/zenserver/frontend/html/indexer/worker.js | 46 |
1 files changed, 24 insertions, 22 deletions
diff --git a/src/zenserver/frontend/html/indexer/worker.js b/src/zenserver/frontend/html/indexer/worker.js index 69ee234fa..c0cbb7e11 100644 --- a/src/zenserver/frontend/html/indexer/worker.js +++ b/src/zenserver/frontend/html/indexer/worker.js @@ -73,33 +73,38 @@ async function map_id_to_key(project_id, oplog, start, end, page_size, stride) else if (field.is_named("packagedata")) pkg_data = field; else if (field.is_named("bulkdata")) bulk_data = field; } - if (key == undefined || pkg_data == undefined) + + if (key == undefined) continue; var id = 0n; var size = 0n; var raw_size = 0n; - for (const item of pkg_data.as_array()) - { - var found = 0, pkg_id = undefined; - for (const field of item.as_object()) + + if (pkg_data) + { + for (const item of pkg_data.as_array()) { - if (!id && field.is_named("id")) pkg_id = field.as_value(); - else if (field.is_named("size")) size += field.as_value(); - else if (field.is_named("rawsize")) raw_size += field.as_value(); - else continue; - if (found++ >= 3) - break; - } + var found = 0, pkg_id = undefined; + for (const field of item.as_object()) + { + if (!id && field.is_named("id")) pkg_id = field.as_value(); + else if (field.is_named("size")) size += field.as_value(); + else if (field.is_named("rawsize")) raw_size += field.as_value(); + else continue; + if (found++ >= 3) + break; + } - if (pkg_id === undefined) - continue; + if (pkg_id === undefined) + continue; - pkg_id = pkg_id.subarray(0, 8); - for (var i = 7; i >= 0; --i) - { - id <<= 8n; - id |= BigInt(pkg_id[i]); + pkg_id = pkg_id.subarray(0, 8); + for (var i = 7; i >= 0; --i) + { + id <<= 8n; + id |= BigInt(pkg_id[i]); + } } } @@ -119,9 +124,6 @@ async function map_id_to_key(project_id, oplog, start, end, page_size, stride) } } - if (id == 0) - continue; - result[count] = [id, key.as_value(), size, raw_size]; count++; } |