codegen.d.ts 1.1 KB

1234567891011121314151617181920212223242526
  1. import { SourceMapGenerator } from 'source-map-js';
  2. import { JSChildNode, RootNode, SSRCodegenNode, TemplateChildNode } from '@vue/compiler-core';
  3. import { ParserPlugin } from '@babel/parser';
  4. import { CodegenOptions, CodegenResult } from './options';
  5. type CodegenNode = TemplateChildNode | JSChildNode | SSRCodegenNode;
  6. export interface CodegenContext extends Required<Omit<CodegenOptions, 'sourceMapGeneratedLine' | 'className' | 'originalLineOffset' | 'generatedLineOffset' | 'inMap'>> {
  7. source: string;
  8. code: string;
  9. easyComponentAutoImports: Record<string, [string, string]>;
  10. importEasyComponents: string[];
  11. importUTSComponents: string[];
  12. importUTSElements: string[];
  13. line: number;
  14. column: number;
  15. offset: number;
  16. indentLevel: number;
  17. map?: SourceMapGenerator;
  18. expressionPlugins: ParserPlugin[];
  19. helper(key: symbol): string;
  20. push(code: string, node?: CodegenNode): void;
  21. indent(): void;
  22. deindent(withoutNewLine?: boolean): void;
  23. newline(): void;
  24. }
  25. export declare function generate(ast: RootNode, options?: CodegenOptions): CodegenResult;
  26. export {};