Fix more type assertions (#230156)

* Fix more type assertions

For #211878

* Fix type error
This commit is contained in:
Matt Bierner
2024-09-30 14:17:06 -07:00
committed by GitHub
parent 27d54aa27a
commit 51fa4d0172
25 changed files with 114 additions and 98 deletions
+11 -6
View File
@@ -28,9 +28,12 @@ type NotebookMetadata = {
[propName: string]: unknown;
};
type OptionsWithCellContentMetadata = vscode.NotebookDocumentContentOptions & { cellContentMetadata: { attachments: boolean } };
export function activate(context: vscode.ExtensionContext, serializer: vscode.NotebookSerializer) {
keepNotebookModelStoreInSync(context);
context.subscriptions.push(vscode.workspace.registerNotebookSerializer('jupyter-notebook', serializer, {
const notebookSerializerOptions: OptionsWithCellContentMetadata = {
transientOutputs: false,
transientCellMetadata: {
breakpointMargin: true,
@@ -41,9 +44,10 @@ export function activate(context: vscode.ExtensionContext, serializer: vscode.No
cellContentMetadata: {
attachments: true
}
} as vscode.NotebookDocumentContentOptions));
};
context.subscriptions.push(vscode.workspace.registerNotebookSerializer('jupyter-notebook', serializer, notebookSerializerOptions));
context.subscriptions.push(vscode.workspace.registerNotebookSerializer('interactive', serializer, {
const interactiveSerializeOptions: OptionsWithCellContentMetadata = {
transientOutputs: false,
transientCellMetadata: {
breakpointMargin: true,
@@ -54,7 +58,8 @@ export function activate(context: vscode.ExtensionContext, serializer: vscode.No
cellContentMetadata: {
attachments: true
}
} as vscode.NotebookDocumentContentOptions));
};
context.subscriptions.push(vscode.workspace.registerNotebookSerializer('interactive', serializer, interactiveSerializeOptions));
vscode.languages.registerCodeLensProvider({ pattern: '**/*.ipynb' }, {
provideCodeLenses: (document) => {
@@ -116,10 +121,10 @@ export function activate(context: vscode.ExtensionContext, serializer: vscode.No
const edit = new vscode.WorkspaceEdit();
edit.set(resource, [vscode.NotebookEdit.updateNotebookMetadata({
...document.metadata,
metadata: <NotebookMetadata>{
metadata: {
...(document.metadata.metadata ?? {}),
...metadata
},
} satisfies NotebookMetadata,
})]);
return vscode.workspace.applyEdit(edit);
},
+2 -2
View File
@@ -379,10 +379,10 @@ export function createMarkdownCellFromNotebookCell(cell: NotebookCellData): nbfo
export function pruneCell(cell: nbformat.ICell): nbformat.ICell {
// Source is usually a single string on input. Convert back to an array
const result = {
const result: nbformat.ICell = {
...cell,
source: splitMultilineString(cell.source)
} as nbformat.ICell;
};
// Remove outputs and execution_count from non code cells
if (result.cell_type !== 'code') {