///|
fn make_index(original : @document.Document, volumes : Array[Volume]) -> Json {
let summaries : Array[Json] = []
let files : Map[String, Json] = Map([])
let sections : Map[String, Json] = Map([])
for volume in volumes {
summaries.push({
"id": volume.id,
"tokens": volume.tokens,
"bytes": volume.bytes,
"fileIndices": volume.file_indices,
"sectionIndices": volume.section_indices,
})
for i in volume.file_indices {
files[original.files[i].path] = Json::string(volume.id)
}
for i in volume.section_indices {
sections[i.to_string()] = Json::string(volume.id)
}
}
{
"schemaVersion": 1,
"volumes": summaries,
"files": files,
"sections": sections,
"metadata": original.metadata,
}
}