UNPKG

@lcap/nasl

Version:

NetEase Application Specific Language

213 lines (181 loc) 18.2 kB
declare namespace nasl.util { export function Convert(value: null): <T extends never>() => T; export function Convert(value: nasl.core.Long): <T extends nasl.core.Decimal | nasl.core.Boolean | nasl.core.String | nasl.core.DateTime>() => T; export function Convert(value: nasl.core.Decimal): <T extends nasl.core.Decimal | nasl.core.Boolean | nasl.core.Long | nasl.core.String>() => T; export function Convert(value: nasl.core.Binary): <T extends nasl.core.String>() => T; export function Convert(value: nasl.core.String): <T extends nasl.core.String | nasl.core.Decimal | nasl.core.Date | nasl.core.Time | nasl.core.DateTime | nasl.core.Long | nasl.core.Boolean>() => T; export function Convert(value: nasl.core.Date): <T extends nasl.core.DateTime | nasl.core.String>() => T; export function Convert(value: nasl.core.Time): <T extends nasl.core.String>() => T; export function Convert(value: nasl.core.DateTime): <T extends nasl.core.Date | nasl.core.Time | nasl.core.String | nasl.core.Long>() => T; export function Convert(value: nasl.core.Boolean): <T extends nasl.core.Boolean | nasl.core.String | nasl.core.Long | nasl.core.Decimal>() => T; // 先给雨森加一下 export function Convert(value: nasl.core.Any): <T extends nasl.core.String>() => T; export function ConvertLong<T extends nasl.core.Decimal | nasl.core.Boolean | nasl.core.String | nasl.core.DateTime>(value: nasl.core.Long): T; export function ConvertDecimal<T extends nasl.core.Decimal | nasl.core.Boolean | nasl.core.Long | nasl.core.String>(value: nasl.core.Decimal): T; export function ConvertBinary<T extends nasl.core.String>(value: nasl.core.Binary): T; export function ConvertString<T extends nasl.core.String | nasl.core.Decimal | nasl.core.Date | nasl.core.Time | nasl.core.DateTime | nasl.core.Long | nasl.core.Boolean>(value: nasl.core.String): T; export function ConvertDate<T extends nasl.core.DateTime | nasl.core.String>(value: nasl.core.Date): T; export function ConvertTime<T extends nasl.core.String>(value: nasl.core.Time): T; export function ConvertDateTime<T extends nasl.core.Date | nasl.core.Time | nasl.core.String | nasl.core.Long>(value: nasl.core.DateTime): T; export function ConvertBoolean<T extends nasl.core.Boolean | nasl.core.String | nasl.core.Long | nasl.core.Decimal>(value: nasl.core.Boolean): T; export function Convertany<T extends nasl.core.String>(value: nasl.core.Any): T; export function ToString(value: nasl.core.Any, timeZone?: nasl.core.String): nasl.core.String; export function FromString(value: nasl.core.String): <T extends nasl.core.Decimal | nasl.core.Date | nasl.core.Time | nasl.core.DateTime | nasl.core.Long | nasl.core.Boolean>() => T; export function EnumToList<T extends nasl.core.Enums<nasl.core.Long>>(): nasl.collection.List<nasl.core.AStructure<{ text: nasl.core.String, value: nasl.core.Long, item: T }>>; export function EnumToList<T extends nasl.core.Enums<nasl.core.String>>(): nasl.collection.List<nasl.core.AStructure<{ text: nasl.core.String, value: nasl.core.String, item: T }>>; export function EnumItemToText<T extends nasl.core.Enums<nasl.core.Long | nasl.core.String>>(value: nasl.core.Enums<nasl.core.Long | nasl.core.String>): nasl.core.String; export function EnumItemToStructure<T extends nasl.core.Enums<nasl.core.Long>>(value: nasl.core.Enums<nasl.core.Long>): nasl.core.AStructure<{ text: nasl.core.String, value: nasl.core.Long, item: T }>; export function EnumItemToStructure<T extends nasl.core.Enums<nasl.core.String>>(value: nasl.core.Enums<nasl.core.String>): nasl.core.AStructure<{ text: nasl.core.String, value: nasl.core.String, item: T }>; export function ToEnumItem<T extends nasl.core.Enums<nasl.core.Long>>(value: nasl.core.Long): T; export function ToEnumItem<T extends nasl.core.Enums<nasl.core.String>>(value: nasl.core.String): T; export function Split(str: nasl.core.String, separator: nasl.core.String | nasl.util.Regex, trail: nasl.core.Boolean): nasl.collection.List<nasl.core.String>; export function Join<T>(list: nasl.collection.List<T>, separator: nasl.core.String): nasl.core.String; export function Length(str1: nasl.core.String): nasl.core.Long; export function Length<K, V>(str1: nasl.collection.Map<K, V>): nasl.core.Long; export function Length<T>(str1: nasl.collection.List<T>): nasl.core.Long; export function IndexOf(str: nasl.core.String, search: nasl.core.String, formIndex: nasl.core.Long, ignoreCase: nasl.core.Boolean): nasl.core.Long; export function LastIndexOf(str: nasl.core.String, search: nasl.core.String, ignoreCase: nasl.core.Boolean): nasl.core.Long; export function Replace(str: nasl.core.String, search: nasl.core.String | nasl.util.Regex, replace: nasl.core.String): nasl.core.String; export function SubString(str: nasl.core.String, start: nasl.core.Long, length?: nasl.core.Long): nasl.core.String; export function ToLower(str1: nasl.core.String): nasl.core.String; export function ToUpper(str1: nasl.core.String): nasl.core.String; export function Trim(str1: nasl.core.String): nasl.core.String; export function Get<T>(list: nasl.collection.List<T>, index: nasl.core.Long): T; export function Set<T, K extends T>(list: nasl.collection.List<T>, index: nasl.core.Long, item: K): T; export function Contains<T, K extends T>(list: nasl.collection.List<T>, item: K): nasl.core.Boolean; export function Add<T, K extends T>(list: nasl.collection.List<T>, item: K): void; export function AddAll<T>(list: nasl.collection.List<T>, addList: nasl.collection.List<T>): nasl.core.Long; export function Insert<T, K extends T>(list: nasl.collection.List<T>, index: nasl.core.Long, item: K): void; export function Remove<T, K extends T>(list: nasl.collection.List<T>, item: K): void; export function RemoveAt<T>(list: nasl.collection.List<T>, index: nasl.core.Long): T; export function ListHead<T>(list: nasl.collection.List<T>): T; export function ListLast<T>(list: nasl.collection.List<T>): T; export function ListFlatten<T>(list: nasl.collection.List<nasl.collection.List<T>>): nasl.collection.List<T>; export function ListTransform<T0, T>(list: nasl.collection.List<T0>, by: (elem: T0) => T): nasl.collection.List<T>; export function ListToMap<T, K extends nasl.core.Long | nasl.core.Decimal | nasl.core.Boolean | nasl.core.String | nasl.core.Date | nasl.core.Time | nasl.core.DateTime, V> (map: nasl.collection.List<T>, byKey: (elem: T) => K, byVal: (elem: T) => V): nasl.collection.Map<K, V>; export function ListGroupBy<A, K extends nasl.core.Long | nasl.core.Decimal | nasl.core.Boolean | nasl.core.String | nasl.core.Date | nasl.core.Time | nasl.core.DateTime | nasl.core.Enums<nasl.core.String | nasl.core.Long>> (list: nasl.collection.List<A>, by: (elem: A) => K): nasl.collection.Map<K, nasl.collection.List<A>>; export function ListSum<T extends nasl.core.Long | nasl.core.Decimal>(list: nasl.collection.List<T>): T; export function ListProduct<T extends nasl.core.Long | nasl.core.Decimal>(list: nasl.collection.List<T>): T; export function ListMax<T extends nasl.core.Long | nasl.core.Decimal | nasl.core.String>(list: nasl.collection.List<T>): T; export function ListMin<T extends nasl.core.Long | nasl.core.Decimal | nasl.core.String>(list: nasl.collection.List<T>): T; export function ListAverage(list: nasl.collection.List<nasl.core.Long> | nasl.collection.List<nasl.core.Decimal> | nasl.collection.List<nasl.core.Long | nasl.core.Decimal> ): nasl.core.Decimal; // the type is not precise, we must exclude union instantiation for T2, which is done at // packages/nasl-language-server-core/src/checker.ts error(node, mkIncompatibleTyErr(env, selForSort, '非 union 的基础类型:如字符串、整数、布尔等')); export function ListSort<T1>( list: nasl.collection.List<T1>, ...fns: ((item: T1) => { asc: nasl.core.Boolean, by: nasl.core.Long | nasl.core.Decimal | nasl.core.Boolean | nasl.core.String | nasl.core.Date | nasl.core.Time | nasl.core.DateTime })[]): nasl.collection.List<T1>; export function ListFind<T>(list: nasl.collection.List<T>, by: (item: T) => nasl.core.Boolean): T; export function ListFindIndex<T>(list: nasl.collection.List<T>, by: (item: T) => nasl.core.Boolean): nasl.core.Long; export function ListFindAll<T>(list: nasl.collection.List<T>, by: (item: T) => nasl.core.Boolean): nasl.collection.List<T>; export function ListFilter<T>(list: nasl.collection.List<T>, by: (item: T) => nasl.core.Boolean): nasl.collection.List<T>; export function ListReverse<T>(list: nasl.collection.List<T>): nasl.collection.List<T>; export function ListDistinct<T>(list: nasl.collection.List<T>): nasl.collection.List<T>; export function ListDistinctBy<A>(list: nasl.collection.List<A> ,by: nasl.collection.List<{ items: Array<(elem: A) => any> }>): nasl.collection.List<A>; export function ListSlice<T>(list: nasl.collection.List<T>, start: nasl.core.Long, end: nasl.core.Long): nasl.collection.List<T>; export function ListRange(end: nasl.core.Long): nasl.collection.List<nasl.core.Long>; export function ListRange(start: nasl.core.Long, end: nasl.core.Long, step?: nasl.core.Long): nasl.collection.List<nasl.core.Long>; export function ListRepeat<T>(item: T, length: nasl.core.Long): nasl.collection.List<T>; export function MapGet<K, V>(map: nasl.collection.Map<K, V>, key: K): V; export function MapPut<K, V>(map: nasl.collection.Map<K, V>, key: K, value: V): void; export function MapRemove<K, V>(map: nasl.collection.Map<K, V>, key: K): void; export function MapContains<K, V>(map: nasl.collection.Map<K, V>, key: K): nasl.core.Boolean; export function MapKeys<K, V>(map: nasl.collection.Map<K, V>): nasl.collection.List<K>; export function MapValues<K, V>(map: nasl.collection.Map<K, V>): nasl.collection.List<V>; export function MapFilter<K, V>(map: nasl.collection.Map<K, V>, by: (key: K, value: V) => nasl.core.Boolean): nasl.collection.Map<K, V>; // 将元素类型为 K0, V0 的 Map 映射为元素类型为 K, V 的 Map export function MapTransform< K0, V0, K extends nasl.core.Boolean | nasl.core.Long | nasl.core.Decimal | nasl.core.String | nasl.core.Date | nasl.core.DateTime | nasl.core.Time, V >(map: nasl.collection.Map<K0, V0>, byKey: (key: K0, value: V0) => K, byVal: (key: K0, value: V0) => V): nasl.collection.Map<K, V>; export function CurrDate(timeZone?: nasl.core.String): nasl.core.Date; export function CurrTime(timeZone?: nasl.core.String): nasl.core.Time; export function CurrDateTime(timeZone?: nasl.core.String): nasl.core.DateTime; export function FormatDate(date: nasl.core.Date, formatter: nasl.core.String): nasl.core.String; export function FormatDateTime(dateTime: nasl.core.DateTime, formatter: nasl.core.String, timeZone?: nasl.core.String): nasl.core.String; export function FormatTime(time: nasl.core.Time, formatter: nasl.core.String): nasl.core.String; export function FormatNumber(doubleValue: nasl.core.Decimal | nasl.core.Long, digits: nasl.core.Long, omit: nasl.core.Boolean, showGroups: nasl.core.Boolean, fix: nasl.core.String, unit: nasl.core.String): nasl.core.String; export function FormatPercent(doubleValue: nasl.core.Decimal | nasl.core.Long, digits: nasl.core.Long, omit: nasl.core.Boolean, showGroups: nasl.core.Boolean): nasl.core.String; export function AddDays(dateTime: nasl.core.Date, amount: nasl.core.Long): nasl.core.Date; export function AddDays(dateTime: nasl.core.DateTime, amount: nasl.core.Long): nasl.core.DateTime; export function AddMonths(dateTime: nasl.core.Date, amount: nasl.core.Long): nasl.core.Date; export function AddMonths(dateTime: nasl.core.DateTime, amount: nasl.core.Long): nasl.core.DateTime; export function DateDiff<T extends nasl.core.Date | nasl.core.Time | nasl.core.DateTime>(dateTime1: T, dateTime2: T, calcType: nasl.core.String, isAbs: nasl.core.Boolean): nasl.core.Long; export function ConvertTimezone<T extends nasl.core.DateTime>(dateTime: T, timeZone: nasl.core.String): T; export function AlterDateTime<T extends nasl.core.Date | nasl.core.DateTime>(dateTime: T, option: nasl.core.String, amount: nasl.core.Long, unit: nasl.core.String): T; export function GetDateCount<T extends nasl.core.Date | nasl.core.DateTime> (dateTime: T, metric: nasl.core.String, timeZone?: nasl.core.String): nasl.core.Long; export function GetDateCountOld<T extends nasl.core.Date | nasl.core.DateTime> (dateTime: T, metric: nasl.core.String, timeZone?: nasl.core.String): nasl.core.Long; export function GetSpecificDaysOfWeek<T extends nasl.core.Date | nasl.core.DateTime>(startDate: T, endDate: T, target: nasl.collection.List<nasl.core.Long>, timeZone?: nasl.core.String): nasl.collection.List<T>; export function Clone<T>(struct: T): T; // export function Clear<T>(struct: T): T; export function Clear<T>(struct: T, mode?: nasl.core.String): T; export function RandomInt(start: nasl.core.Long, end: nasl.core.Long): nasl.core.Long; export function New<T>(): T; export function NewList<T>(...args: T[]): nasl.collection.List<T>; export function NewMap<K, T>(key: K, ...args: T[]): nasl.collection.Map<K, T>; export function ValidMapKey<K extends nasl.core.Boolean | nasl.core.Long | nasl.core.Decimal | nasl.core.String | nasl.core.Date | nasl.core.Time | nasl.core.DateTime>(key: K): K; export function CreateListPage<T>(list: nasl.collection.List<T>, total: nasl.core.Long): nasl.core.AStructure<{ list: nasl.collection.List<T>, total: nasl.core.Long }>; // 为防止nasl没有被干净,先保留这部分的声明 export function consoleLog(arg: nasl.core.Any): void; export function jsonSerialize(arg: nasl.core.Any, timeZone?: nasl.core.String): nasl.core.String; export function jsonDeserialize<T>(arg: nasl.core.String): T; export function concatString(...args: Array<nasl.core.String>): any; export function stringInterpolation(...args: Array<nasl.core.Any>): nasl.core.String; export function Round(value: nasl.core.Decimal, mode: nasl.core.String): nasl.core.Long; export function HasValue(value: nasl.core.Any, ...rest: Array<nasl.core.Any>): nasl.core.Boolean; export function ListSortAsync<T1>( list: nasl.collection.List<T1>, ...fns: ((item: T1) => { asc: nasl.core.Boolean, by: nasl.core.Long | nasl.core.Decimal | nasl.core.Boolean | nasl.core.String | nasl.core.Date | nasl.core.Time | nasl.core.DateTime })[]): nasl.collection.List<T1>; export function ListFindAsync<T>(list: nasl.collection.List<T>, by: (item: T) => nasl.core.Boolean): T; export function ListFindIndexAsync<T>(list: nasl.collection.List<T>, by: (item: T) => nasl.core.Boolean): nasl.core.Long; export function ListFilterAsync<T>(list: nasl.collection.List<T>, by: (item: T) => nasl.core.Boolean): nasl.collection.List<T>; export function ListDistinctByAsync<A, B>(list: nasl.collection.List<A>, by: (elem: A) => B): nasl.collection.List<A>; export function ListGroupByAsync<A, K extends nasl.core.Boolean | nasl.core.Long | nasl.core.Decimal | nasl.core.String | nasl.core.Date | nasl.core.Time | nasl.core.DateTime | nasl.core.Enums>(list: nasl.collection.List<A>, by: (elem: A) => K): nasl.collection.Map<K, nasl.collection.List<A>>; export function ListTransformAsync<T0, T>(list: nasl.collection.List<T0>, by: (elem: T0) => T): nasl.collection.List<T>; export function MapFilterAsync<K, V>(map: nasl.collection.Map<K, V>, by: (key: K, value: V) => nasl.core.Boolean): nasl.collection.Map<K, V>; export function MapTransformAsync<K0, V0, K extends nasl.core.Long | nasl.core.Decimal | nasl.core.Boolean | nasl.core.String | nasl.core.Date | nasl.core.Time | nasl.core.DateTime, V> (map: nasl.collection.Map<K0, V0>, byKey: (key: K0, value: V0) => K, byVal: (key: K0, value: V0) => V): nasl.collection.Map<K, V>; export function ListToMapAsync<T, K extends nasl.core.Long | nasl.core.Decimal | nasl.core.Boolean | nasl.core.String | nasl.core.Date | nasl.core.Time | nasl.core.DateTime, V> (map: nasl.collection.List<T>, byKey: (elem: T) => K, byVal: (elem: T) => V): nasl.collection.Map<K, V>; // 逻辑调用和验证器函数的包装器 export function callLogicWithChecker<T extends (...args: any[]) => any>(func: T, checker: (...args: Parameters<T>) => any): T; // 分页组件函数 export function paginateLimit<T>(list: nasl.collection.List<T>, page: nasl.core.Long, size: nasl.core.Long): nasl.core.AStructure<{ list: nasl.collection.List<T>, total: nasl.core.Long }>; // 审批人判断函数 export function isListorString(value: nasl.core.String | nasl.collection.List<nasl.core.String>): Boolean; // 任务标题判断函数 export function isStringTaskTitle(value: nasl.core.String): Boolean; export function Ceil(value: nasl.core.Decimal): nasl.core.Long; export function Floor(value: nasl.core.Decimal): nasl.core.Long; export function Trunc(value: nasl.core.Decimal): nasl.core.Long; export function TruncDivide(dividend: nasl.core.Decimal, divisor: nasl.core.Decimal): nasl.core.Long; export function Abs<T extends nasl.core.Long | nasl.core.Decimal>(value: T): T; export function Pow(base: nasl.core.Decimal, exponent: nasl.core.Decimal): nasl.core.Decimal; export function Sqrt(value: nasl.core.Decimal): nasl.core.Decimal; export function Cbrt(value: nasl.core.Decimal): nasl.core.Decimal; export function Log(value: nasl.core.Decimal): nasl.core.Decimal; export function PadStart(str: nasl.core.String, length: nasl.core.Long, padStr: nasl.core.String): nasl.core.String; export function PadEnd(str: nasl.core.String, length: nasl.core.Long, padStr: nasl.core.String): nasl.core.String; export function TrimStart(str: nasl.core.String): nasl.core.String; export function TrimEnd(str: nasl.core.String): nasl.core.String; export function MatchRegex( str: nasl.core.String, regex: nasl.util.Regex ): nasl.collection.List<nasl.core.String>; export function $NewRegex(pattern: nasl.core.String, flags?: nasl.core.String): nasl.util.Regex; export class Regex { private accept: 'Regex'; flags: nasl.core.String; pattern: nasl.core.String; } }