Fix folders of items wrt the itemid map

This commit is contained in:
nora 2023-07-31 13:13:30 +02:00
parent cbbda39688
commit 6bdbf14ecb
4 changed files with 37 additions and 5 deletions

View file

@ -658,7 +658,10 @@ function validateAst(ast: Ast) {
const validator: Folder = {
...DEFAULT_FOLDER,
item(item: Item): Item {
ast() {
return ast;
},
itemInner(item: Item): Item {
if (seenItemIds.has(item.id)) {
throw new Error(`duplicate item id: ${item.id} for ${item.node.name}`);
}
@ -719,7 +722,10 @@ function assignIds(rootItems: Item[]): Ast {
const assigner: Folder = {
...DEFAULT_FOLDER,
item(item: Item): Item {
ast() {
return ast;
},
itemInner(item: Item): Item {
const id = itemId.next();
ast.itemsById.set(id, item);
return { ...superFoldItem(item, this), id };