/** * SSR 的输入参数 * * SanProject#compileToSource() 和 compileToRenderer() 的输入参数为 CompileInput * 这里定义了 CompileInput 相关的类型,以及对应的 Type Guards。 */ import { Component } from 'san'; /** * 文件尚未存在,但其内容已经在内存里的情况。比如 Webpack 编译时。 */ export interface FileDescriptor { /** * 文件路径 */ filePath: string; /** * 文件内容 */ fileContent: string; } /** * .san 文件描述 * * - 单独给 script 文件内容、template 文件内容的情况。 * - 一个 script 内只有一个组件。 */ export interface SanFileDescriptor { /** * 文件路径 */ filePath: string; /** * 脚本内容 */ scriptContent: string; /** * 模板内容 */ templateContent: string; } export type ComponentClass = Component; export type FilePath = string; export type CompileInput = SanFileDescriptor | FileDescriptor | FilePath | ComponentClass; export declare function isFileDescriptor(input: CompileInput): input is FileDescriptor; export declare function isComponentClass(input: CompileInput): input is ComponentClass; export declare function isSanFileDescriptor(input: CompileInput): input is SanFileDescriptor;