in server/src/jsonStore.ts [190:230]
private processVertex(vertex: Vertex): void {
this.vertices.all.set(vertex.id, vertex);
switch(vertex.label) {
case VertexLabels.metaData:
this.version = vertex.version;
break;
case VertexLabels.source:
this.workspaceRoot = URI.parse(vertex.workspaceRoot);
break;
case VertexLabels.project:
this.vertices.projects.set(vertex.id, vertex);
break;
case VertexLabels.event:
if (vertex.kind === EventKind.begin) {
switch (vertex.scope) {
case EventScope.project:
this.activeProject = (vertex as ProjectEvent).data;
break;
}
}
break;
case VertexLabels.document:
this.doProcessDocument(vertex);
break;
case VertexLabels.moniker:
if (vertex.kind !== MonikerKind.local) {
const key = crypto.createHash('md5').update(JSON.stringify({ s: vertex.scheme, i: vertex.identifier }, undefined, 0)).digest('base64');
(vertex as Moniker).key = key;
let values = this.indices.monikers.get(key);
if (values === undefined) {
values = [];
this.indices.monikers.set(key, values);
}
values.push(vertex as Moniker);
}
break;
case VertexLabels.range:
this.vertices.ranges.set(vertex.id, vertex);
break;
}
}