@vtj/coder
Version:
VVTJ.PRO 是一个开源的、AI 驱动的 Vue3 企业级应用开发平台,通过 AI 智能体与可视化编排实现高效开发,并支持导出标准 Vue 代码以避免平台锁定。
35 lines (34 loc) • 1.22 kB
TypeScript
import { BlockSchema, Dependencie, NodeFromUrlSchema, NodeFromPlugin } from '@vtj/core';
export declare class Collecter {
dsl: BlockSchema;
dependencies: Dependencie[];
/**
* { 'element-plus': ['ElButton', 'ElInput' ...] }
*/
imports: Record<string, Set<string>>;
context: Record<string, Set<string>>;
style: Record<string, Record<string, any>>;
members: string[];
urlSchemas: Record<string, NodeFromUrlSchema>;
blockPlugins: Record<string, NodeFromPlugin>;
/** 配置了 easycom 的依赖包名集合,出码时不需要 import */
easycomPackages: Set<string>;
private libraryRegex;
constructor(dsl: BlockSchema, dependencies: Dependencie[]);
private collectEasycom;
private collectLibrary;
/**
* 收集 import 信息
* @param regexMatchItem ex: this.$libs.ElementPlus.ElButton
* @returns ex: { name: 'ElButton', path: 'this.$libs.ElementPlus.', library: 'ElementPlus' }
*/
private collectImport;
private replaceLibraryPath;
private walk;
private getLibraryMember;
private collectContext;
private collectStyle;
private collectUrlSchema;
private collectBlockPlugin;
private walkNodes;
}