import { CompletionProperty, Identifier, Enum, SyntaxNode } from '../concepts'; import { BaseNode } from '../common'; export declare function formatEnums(enums: Array): CompletionProperty[]; export declare function getMemberIdentifier(node: SyntaxNode, params?: { elemPropKey?: 'readablePropsMap' | 'propsMap'; skipCurrentLevel?: boolean; }): Promise<{ name: string; children: CompletionProperty[]; expanded: boolean; icon: string; }[]>; export declare function getLiteralsIdentifier(): CompletionProperty[]; export declare function getEnumsIdentifier(node: SyntaxNode): CompletionProperty[]; export declare function getBackendVariablesIdentifier(node: SyntaxNode): CompletionProperty[]; /** * v4.1.x 说明:naslServer.semEnv.refMgr 里的函数可以拿到 visible variables,跟 current 相关的拼一拼应该就行了 * 后续这个文件的大部分逻辑可以删了 */ /** * 需要特殊处理的一些情况: * 1. 实体逻辑的 filter 是 Function,不是 AnonymousFunction,且入参名固定为 _,不是实体名。因此变量里选出来也得是 _.property * 2. 页面中 BindAttribute、BindDirective、BindStyle 的入参 current、item、file 等,按从外往里的顺序命名 current, current1, current2... * 3. current 拿不到类型,只有个 string 类型的实体名,类型需要自己去找。其他的基本都是 AnonymousFunction 入参,能拿到类型 * 4. 动态表格只有 current,动态列还有个 dynamic current,要向上找两次 dataSource * 5. 服务端的接口、鉴权接口的验证规则里需要能看到形参,但是不需要看到逻辑里的变量。 * 6. CallLogic 里也能设置验证规则,需要自行找到 Logic 定义,塞入形参。 * 7. 右上角变量框传的是 Logic 或 BindAttribute,不是 Identifier。 * 所以前端的右上角变量框是不可能看到 AnonymousFunction 入参的,需要手动塞进去。 并且要避免 Identifier 中的 current、item、file 等被重复塞一次。 */ export declare function getVarCompletionList(__nd: SyntaxNode, skipCurrentLevel?: boolean): Promise>; export declare function getCommonVariableIdentifier(node: SyntaxNode): CompletionProperty[]; export declare function getSelectNextCompletionData(node: Identifier, completionProperty?: CompletionProperty): Promise; export declare function getConfigsIdentifier(node: BaseNode): CompletionProperty[]; export declare function getPageComponentsIdentifier(node: SyntaxNode, params: { elemPropKey?: 'readablePropsMap' | 'propsMap'; }): CompletionProperty[]; //# sourceMappingURL=getMemberIdentifier.d.ts.map