From a17e184a166dd359a18759e307d18ff6d3d756b7 Mon Sep 17 00:00:00 2001 From: jiasheng Date: Thu, 26 Mar 2026 10:17:50 +0800 Subject: [PATCH 1/2] feat(language): Allow including partial model in loadDocument when there is error --- packages/language/src/document.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/language/src/document.ts b/packages/language/src/document.ts index 7426c606d..a9ffeaae7 100644 --- a/packages/language/src/document.ts +++ b/packages/language/src/document.ts @@ -33,9 +33,10 @@ export async function loadDocument( fileName: string, additionalModelFiles: string[] = [], mergeImports: boolean = true, + returnPartialModelForError: boolean = false, ): Promise< | { success: true; model: Model; warnings: string[]; services: ZModelServices } - | { success: false; errors: string[]; warnings: string[] } + | { success: false; model?: Model; errors: string[]; warnings: string[] } > { const { ZModelLanguage: services } = createZModelServices(false); const extensions = services.LanguageMetaData.fileExtensions; @@ -116,6 +117,7 @@ export async function loadDocument( if (errors.length > 0) { return { success: false, + model: returnPartialModelForError ? (document.parseResult.value as Model) : undefined, errors, warnings, }; From f02da6955b3b03b990fb8ba5abdaaa4f00cf2649 Mon Sep 17 00:00:00 2001 From: jiasheng Date: Thu, 26 Mar 2026 10:26:22 +0800 Subject: [PATCH 2/2] resolve comments --- packages/language/src/document.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/language/src/document.ts b/packages/language/src/document.ts index a9ffeaae7..2d497d796 100644 --- a/packages/language/src/document.ts +++ b/packages/language/src/document.ts @@ -141,6 +141,7 @@ export async function loadDocument( if (additionalErrors.length > 0) { return { success: false, + model: returnPartialModelForError ? (document.parseResult.value as Model) : undefined, errors: additionalErrors, warnings, };