返回 DeepSeek-Reasonix
previousDraftBindings.ts
根目录 / desktop / frontend / src / lib / previousDraftBindings.ts
1 import type { AppBindings } from "./bridge";
2
3 export type PreviousDraftBindings = Pick<AppBindings,"OpenSessionDraft" | "OpenSessionDraftForTarget" | "RestoreSessionDraft" | "SaveSessionDraft" | "ListSessionDraftSummaries" | "DiscardSessionDraft" | "DismissSessionDraft" | "SetSessionDraftRestoreTarget" | "GetSessionDraft" | "GetDraftContext" | "GetSessionDraftState" | "ResumeDraftSubmission" | "BeginDraftSubmission" | "GetDraftSubmission" | "CancelDraftSubmission">;
4
5 export function makeLazyPreviousDraftMock(): PreviousDraftBindings {
6 let loaded: Promise<PreviousDraftBindings> | undefined;
7 const names: (keyof PreviousDraftBindings)[] = ["OpenSessionDraft","OpenSessionDraftForTarget","RestoreSessionDraft","SaveSessionDraft","ListSessionDraftSummaries","DiscardSessionDraft","DismissSessionDraft","SetSessionDraftRestoreTarget","GetSessionDraft","GetDraftContext","GetSessionDraftState","ResumeDraftSubmission","BeginDraftSubmission","GetDraftSubmission","CancelDraftSubmission"];
8 return Object.fromEntries(names.map(name=>[name,async (...args:unknown[])=> {
9 loaded ??= import("./previousDraftMock").then(module=>module.makePreviousDraftMock());
10 const binding=await loaded;
11 return (binding[name] as (...args:unknown[])=>unknown).apply(binding,args);
12 }])) as unknown as PreviousDraftBindings;
13 }
14
14 lines TYPESCRIPT