@lcap/nasl
Version:
NetEase Application Specific Language
691 lines • 17.5 kB
TypeScript
import { App, Module, Entity, EntityProperty, Logic, View, Namespace, TypeAnnotation, BusinessComponent } from '../concepts';
export declare const filterProperty: (key: 'inTable' | 'inFilter' | 'inForm' | 'inDetail') => (property: EntityProperty) => boolean;
/**
* 生成表达式的代码
* @param property 实体属性
* @param expression 表达式
*/
export declare function getExpression(property: EntityProperty, expression: string): string;
/**
* 从 Logic 中获取变量
* @param resolver
* @param paramName
*/
export declare function getParamFromLogic(logic: Logic, paramName: string): import("node_modules/@lcap/nasl-concepts/out/concepts/Param__").Param;
export declare function getFirstDisplayedProperty(entity: Entity): EntityProperty;
/**
* 生成逻辑 Param
* @param paramIdOrName 参数 id 或引用名称
* @param expression 表达式
* @param schemaChildren 数据结构
*/
export declare function genLogicParam(paramIdOrName: string, expression: string): {
concept: string;
name: string;
kind: string;
keyword: string;
expression: any;
};
/**
* 生成接口 Param
* @param paramIdOrName 参数 id 或引用名称
* @param expression 表达式
* @param schemaChildren 数据结构
*/
export declare function genMemberExpression(expression: string, schemaRefs?: Array<string>): any;
/**
* 命名组,主要承载一次 mergeBlock 中的逻辑名称
*/
export interface NameGroup {
logic?: string;
structure?: string;
load?: string;
remove?: string;
modify?: string;
submit?: string;
lowerEntity?: string;
[key: string]: string;
}
/**
* 生成数据查询唯一的命名组
* @param viewName 页面名称
* @param componentName 组件名称
* @param suffix 其它后缀,比如实体名等等
* @param defaultInView 是否在页面逻辑中用 load 简写
*/
export declare function genUniqueQueryNameGroup(scope: App | Module | Namespace, view: View | BusinessComponent, componentName?: string, defaultInView?: boolean, suffix?: string): NameGroup;
export declare const NaslCoreTypeAnnotation: {
Boolean: {
concept: string;
name: string;
typeKind: string;
typeNamespace: string;
typeName: string;
text: string;
};
Decimal: {
concept: string;
name: string;
typeKind: string;
typeNamespace: string;
typeName: string;
text: string;
};
Long: {
concept: string;
name: string;
typeKind: string;
typeNamespace: string;
typeName: string;
text: string;
};
String: {
concept: string;
name: string;
typeKind: string;
typeNamespace: string;
typeName: string;
text: string;
};
Binary: {
concept: string;
name: string;
typeKind: string;
typeNamespace: string;
typeName: string;
text: string;
};
Date: {
concept: string;
name: string;
typeKind: string;
typeNamespace: string;
typeName: string;
text: string;
};
Time: {
concept: string;
name: string;
typeKind: string;
typeNamespace: string;
typeName: string;
text: string;
};
DateTime: {
concept: string;
name: string;
typeKind: string;
typeNamespace: string;
typeName: string;
text: string;
};
};
export declare const NaslUITypeAnnotation: {
DataSourceParams: {
concept: string;
name: string;
typeKind: string;
typeNamespace: string;
typeName: string;
};
EventTarget: {
concept: string;
name: string;
typeKind: string;
typeNamespace: string;
typeName: string;
};
MouseEvent: {
concept: string;
name: string;
typeKind: string;
typeNamespace: string;
typeName: string;
};
FocusEvent: {
concept: string;
name: string;
typeKind: string;
typeNamespace: string;
typeName: string;
};
ChangeEvent: {
concept: string;
name: string;
typeKind: string;
typeNamespace: string;
typeName: string;
};
NavigateEvent: {
concept: string;
name: string;
typeKind: string;
typeNamespace: string;
typeName: string;
};
ChangeItemEvent: {
concept: string;
name: string;
typeKind: string;
typeNamespace: string;
typeName: string;
};
ChangeItemsEvent: {
concept: string;
name: string;
typeKind: string;
typeNamespace: string;
typeName: string;
};
CascadeCapsulesEvent: {
concept: string;
name: string;
typeKind: string;
typeNamespace: string;
typeName: string;
};
CollapseEvent: {
concept: string;
name: string;
typeKind: string;
typeNamespace: string;
typeName: string;
};
SliderEvent: {
concept: string;
name: string;
typeKind: string;
typeNamespace: string;
typeName: string;
};
DateEvent: {
concept: string;
name: string;
typeKind: string;
typeNamespace: string;
typeName: string;
};
OperatorItemEvent: {
concept: string;
name: string;
typeKind: string;
typeNamespace: string;
typeName: string;
};
ValidateResult: {
concept: string;
name: string;
typeKind: string;
typeNamespace: string;
typeName: string;
};
PaginationEvent: {
concept: string;
name: string;
typeKind: string;
typeNamespace: string;
typeName: string;
};
DurationEvent: {
concept: string;
name: string;
typeKind: string;
typeNamespace: string;
typeName: string;
};
TransferEvent: {
concept: string;
name: string;
typeKind: string;
typeNamespace: string;
typeName: string;
};
TreeChangeEvent: {
concept: string;
name: string;
typeKind: string;
typeNamespace: string;
typeName: string;
};
CheckedEvent: {
concept: string;
name: string;
typeKind: string;
typeNamespace: string;
typeName: string;
};
UploadEvent: {
concept: string;
name: string;
typeKind: string;
typeNamespace: string;
typeName: string;
};
UploadErrorEvent: {
concept: string;
name: string;
typeKind: string;
typeNamespace: string;
typeName: string;
};
SortEvent: {
concept: string;
name: string;
typeKind: string;
typeNamespace: string;
typeName: string;
};
PoiInfo: {
concept: string;
name: string;
typeKind: string;
typeNamespace: string;
typeName: string;
};
File: {
concept: string;
name: string;
typeKind: string;
typeNamespace: string;
typeName: string;
};
KeyboardEvent: {
concept: string;
name: string;
typeKind: string;
typeNamespace: string;
typeName: string;
};
Current: (typeArguments: any[]) => {
concept: string;
name: string;
typeKind: string;
typeNamespace: string;
typeName: string;
typeArguments: any[];
};
DragAndDropEvent: (typeArguments: any[]) => {
concept: string;
name: string;
typeKind: string;
typeNamespace: string;
typeName: string;
typeArguments: any[];
};
ExpandEvent: (typeArguments: any[]) => {
concept: string;
name: string;
typeKind: string;
typeNamespace: string;
typeName: string;
typeArguments: any[];
};
ScrollEvent: (typeArguments: any[]) => {
concept: string;
name: string;
typeKind: string;
typeNamespace: string;
typeName: string;
typeArguments: any[];
};
};
export declare const NaslTypeAnnotation: {
Reference: ({ typeNamespace, typeName }: {
typeNamespace: string;
typeName: string;
}) => {
concept: string;
name: string;
typeKind: string;
typeNamespace: string;
typeName: string;
};
AnonymousStructure: (properties: any[]) => {
concept: string;
typeKind: string;
typeName: string;
typeNamespace: string;
typeArguments: {
concept: string;
typeKind: string;
properties: any[];
}[];
};
};
export declare const NaslCollectionTypeAnnotation: {
List: (typeArguments: any[]) => {
concept: string;
name: string;
typeKind: string;
typeNamespace: string;
typeName: string;
typeArguments: any[];
};
PageOf: (typeArguments: any[]) => {
concept: string;
name: string;
typeKind: string;
typeNamespace: string;
typeName: string;
typeArguments: any[];
};
};
export declare const NaslLogicItem: {
Start: {
concept: string;
name: string;
label: string;
kind: string;
};
End: {
concept: string;
name: string;
label: string;
kind: string;
};
CallLogic: ({ calleeNamespace, calleeName, label, shortcut, arguments: args, }: {
calleeNamespace?: string;
calleeName: string;
label?: string;
shortcut?: boolean;
arguments: any[];
}) => {
concept: string;
name: string;
label: string;
kind: string;
shortcut: boolean;
calleeNamespace: string;
calleeName: string;
arguments: any[];
};
CallFunction: ({ calleeNamespace, calleeName, label, shortcut, arguments: args, typeArguments: typeArgs, }: {
calleeNamespace?: string;
calleeName: string;
label?: string;
shortcut?: boolean;
arguments?: any[];
typeArguments?: any[];
}) => {
concept: string;
name: string;
label: string;
kind: string;
calleeNamespace: string;
calleeName: string;
arguments: any[];
typeArguments: any[];
};
Argument: ({ keyword, expression }: {
keyword: string;
expression: any;
}) => {
concept: string;
name: string;
kind: string;
keyword: string;
expression: any;
};
MemberExpression: ({ object, property }: {
object: any;
property: any;
}) => {
concept: string;
name: string;
kind: string;
object: any;
property: any;
};
Identifier: ({ name }: {
name: string;
}) => {
concept: string;
kind: string;
name: string;
};
BooleanLiteral: ({ value }: {
value: 'true' | 'false';
}) => {
concept: string;
value: "true" | "false";
folded: boolean;
};
StringLiteral: ({ value }: {
value: string;
}) => {
concept: string;
name: string;
kind: string;
value: string;
};
Assignment: ({ left, right }: {
left: any;
right: any;
}) => {
concept: string;
name: string;
label: string;
kind: string;
left: any;
right: any;
};
IfStatement: ({ test, consequent, alternate }: {
test: any;
consequent: any[];
alternate: any[];
}) => {
concept: string;
name: string;
kind: string;
test: any;
consequent: any[];
alternate: any[];
};
BinaryExpression: ({ operator, left, label, right }: {
operator: string;
left?: any;
right?: any;
label?: string;
}) => {
concept: string;
name: string;
kind: string;
label: string;
operator: string;
left: any;
right: any;
};
Paginate: ({ list, page, size }: {
list: any;
page: any;
size: any;
}) => {
concept: string;
name: string;
kind: string;
label: string;
list: any;
page: any;
size: any;
};
};
export declare const NaslQueryExpression: {
QueryFieldExpression: ({ label, isDotStar, entityAsName, propertyName, }: {
label: string;
isDotStar: boolean;
entityAsName: string;
propertyName?: string;
}) => {
concept: string;
name: string;
label: string;
kind: string;
isDotStar: boolean;
entityAsName: string;
propertyName: string;
};
QueryFromExpression: ({ entityNamespace, entityName, joinParts }: {
entityNamespace: string;
entityName: string;
joinParts: any[];
}) => {
concept: string;
name: string;
kind: string;
entityNamespace: string;
entityName: string;
joinParts: any[];
};
QueryJoinExpression: ({ label, entityNamespace, entityName, joinType, onExpressions, joinParts, }: {
label?: string;
entityNamespace: string;
entityName: string;
joinType: string;
onExpressions: any[];
joinParts: any[];
}) => {
concept: string;
label: string;
name: string;
kind: string;
entityNamespace: string;
entityName: string;
joinType: string;
onExpressions: any[];
joinParts: any[];
};
QuerySelectExpression: ({ label, distinct, star, selectElements, }: {
label?: string;
distinct?: boolean;
star?: boolean;
selectElements: any[];
}) => {
concept: string;
name: string;
kind: string;
label: string;
distinct: boolean;
star: boolean;
selectElements: any[];
};
QueryOrderByExpression: ({ label, order, orderElement }: {
label?: string;
order: any;
orderElement: any;
}) => {
concept: string;
label: string;
order: any;
orderElement: any;
};
QueryLimitExpression: ({ label, pageElement, pageSizeElement }: {
label?: string;
pageElement: any;
pageSizeElement: any;
}) => {
concept: string;
name: string;
kind: string;
label: string;
pageElement: any;
pageSizeElement: any;
};
CallQueryComponent: ({ label, typeAnnotation, select, from, where, limit, groupBy, having, orderBy, logicName, structureName, ideVersion, }: {
label?: string;
typeAnnotation: any;
select: any;
from: any;
where: any;
limit: any;
groupBy: any[];
having: any;
orderBy: any[];
logicName: string;
structureName: string;
ideVersion: string;
}) => {
concept: string;
name: string;
label: string;
kind: string;
typeAnnotation: any;
select: any;
from: any;
where: any;
limit: any;
groupBy: any[];
having: any;
orderBy: any[];
logicName: string;
structureName: string;
ideVersion: string;
};
};
export declare const NaslNode: {
Logic: ({ name, params, returns, variables, body, description, playground, }: {
name: string;
params?: any[];
returns?: any[];
variables?: any[];
body?: any[];
description?: string;
playground?: any[];
}) => {
concept: string;
name: string;
params: any[];
returns: any[];
variables: any[];
body: any[];
description: string;
playground: any[];
};
Structure: ({ name, properties, origin }: {
name: string;
properties?: any[];
origin?: 'CallQueryComponent';
}) => {
concept: string;
name: string;
properties: any[];
origin: "CallQueryComponent";
};
StructureProperty: ({ name, typeAnnotation }: {
name: string;
typeAnnotation?: any;
}) => {
concept: string;
name: string;
typeAnnotation: any;
};
Variable: ({ name, typeAnnotation }: {
name: string;
typeAnnotation?: any;
}) => {
concept: string;
name: string;
typeAnnotation: any;
};
Param: ({ name, typeAnnotation }: {
name: string;
typeAnnotation?: any;
}) => {
concept: string;
name: string;
typeAnnotation: any;
};
Return: ({ name, typeAnnotation }: {
name: string;
typeAnnotation?: any;
}) => {
concept: string;
name: string;
typeAnnotation: any;
};
};
export declare const getDecimalInfo: (property: any) => {
step: number;
decimalLength: any;
};
export declare function transEntityMetadataTypes(typeAnnotation: TypeAnnotation, app: App): string;
//# sourceMappingURL=utils.d.ts.map