@vtj/coder
Version:
VTJ 是一款基于 Vue3 + Typescript 的低代码页面可视化设计器。内置低代码引擎、渲染器和代码生成器,面向前端开发者,开箱即用。 无缝嵌入本地开发工程,不改变前端开发流程和编码习惯。
32 lines (31 loc) • 1.08 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>;
private libraryRegex;
constructor(dsl: BlockSchema, dependencies: Dependencie[]);
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;
}