validate NotebookCellData before passing it to renderer

This commit is contained in:
Johannes Rieken
2021-05-10 15:17:23 +02:00
parent 6ac37fcd3c
commit a1e4f1b91c
2 changed files with 24 additions and 2 deletions

View File

@@ -358,11 +358,19 @@ export class ExtHostNotebookController implements ExtHostNotebookShape {
if (!serializer) {
throw new Error('NO serializer found');
}
const data = await serializer.deserializeNotebook(bytes.buffer, token);
return {
const res: NotebookDataDto = {
metadata: typeConverters.NotebookDocumentMetadata.from(data.metadata),
cells: data.cells.map(typeConverters.NotebookCellData.from),
cells: [],
};
for (let cell of data.cells) {
extHostTypes.NotebookCellData.validate(cell);
res.cells.push(typeConverters.NotebookCellData.from(cell));
}
return res;
}
async $notebookToData(handle: number, data: NotebookDataDto, token: CancellationToken): Promise<VSBuffer> {