Blame view

天文台pc/tianwentai-ui/node_modules/vite/dist/node/moduleRunnerTransport.d-DJ_mE5sf.d.ts 2.9 KB
bc518174   王天杨   提交两个项目文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
  import { HotPayload } from '../../types/hmrPayload.js';
  
  interface FetchFunctionOptions {
      cached?: boolean;
      startOffset?: number;
  }
  type FetchResult = CachedFetchResult | ExternalFetchResult | ViteFetchResult;
  interface CachedFetchResult {
      /**
       * If module cached in the runner, we can just confirm
       * it wasn't invalidated on the server side.
       */
      cache: true;
  }
  interface ExternalFetchResult {
      /**
       * The path to the externalized module starting with file://,
       * by default this will be imported via a dynamic "import"
       * instead of being transformed by vite and loaded with vite runner
       */
      externalize: string;
      /**
       * Type of the module. Will be used to determine if import statement is correct.
       * For example, if Vite needs to throw an error if variable is not actually exported
       */
      type: 'module' | 'commonjs' | 'builtin' | 'network';
  }
  interface ViteFetchResult {
      /**
       * Code that will be evaluated by vite runner
       * by default this will be wrapped in an async function
       */
      code: string;
      /**
       * File path of the module on disk.
       * This will be resolved as import.meta.url/filename
       * Will be equal to `null` for virtual modules
       */
      file: string | null;
      /**
       * Module ID in the server module graph.
       */
      id: string;
      /**
       * Module URL used in the import.
       */
      url: string;
      /**
       * Invalidate module on the client side.
       */
      invalidate: boolean;
  }
  type InvokeMethods = {
      fetchModule: (id: string, importer?: string, options?: FetchFunctionOptions) => Promise<FetchResult>;
  };
  
  type ModuleRunnerTransportHandlers = {
      onMessage: (data: HotPayload) => void;
      onDisconnection: () => void;
  };
  /**
   * "send and connect" or "invoke" must be implemented
   */
  interface ModuleRunnerTransport {
      connect?(handlers: ModuleRunnerTransportHandlers): Promise<void> | void;
      disconnect?(): Promise<void> | void;
      send?(data: HotPayload): Promise<void> | void;
      invoke?(data: HotPayload): Promise<{
          result: any;
      } | {
          error: any;
      }>;
      timeout?: number;
  }
  interface NormalizedModuleRunnerTransport {
      connect?(onMessage?: (data: HotPayload) => void): Promise<void> | void;
      disconnect?(): Promise<void> | void;
      send(data: HotPayload): Promise<void>;
      invoke<T extends keyof InvokeMethods>(name: T, data: Parameters<InvokeMethods[T]>): Promise<ReturnType<Awaited<InvokeMethods[T]>>>;
  }
  declare const createWebSocketModuleRunnerTransport: (options: {
      createConnection: () => WebSocket;
      pingInterval?: number;
  }) => Required<Pick<ModuleRunnerTransport, "connect" | "disconnect" | "send">>;
  
  export { createWebSocketModuleRunnerTransport as c };
  export type { ExternalFetchResult as E, FetchFunctionOptions as F, ModuleRunnerTransport as M, NormalizedModuleRunnerTransport as N, ViteFetchResult as V, FetchResult as a, ModuleRunnerTransportHandlers as b };