@farris/expression-engine-vue
Version:
184 lines (183 loc) • 9.04 kB
TypeScript
import { IExpressionContext } from "../core/index";
export declare class DefaultFunctions {
protected context: IExpressionContext | undefined;
constructor(context?: IExpressionContext);
GetChainedPropertyValue(chainedPropName: string): any;
GetContextParameter(propertyName: string): any;
GetSessionValue(propertyName: string): any;
eval(expr: string, arg?: any): any;
GetComputeJsonData(chainedPropName: any, propName: string): any;
GetInjectedEntity(name: string): null;
/**
* 聚合类函数******************************************************************************************
*/
Sum(paramArray: number[]): number;
IncludedInList(value: string | number, list: any[]): boolean;
ExistData(chainedPropName: any): any;
SumByProp(chainedPropName: any, propertyName: any): any;
CountByProp(chainedPropName: string, propertyName: string): any;
AvgByProp(chainedPropName: string, propertyName: string): any;
MaxByProp(chainedPropName: string, propertyName: string): any;
MinByProp(chainedPropName: string, propertyName: string): any;
/**
* 子表数据数量
* @param chainedPropName
*/
CountOfChild(chainedPropName: string): any;
/**
* 子表按属性排序
* @param chainedPropName
* @param propertyName
* @param orderType
* @returns
*/
SortChildData(chainedPropName: string, propertyName: string, orderType: string): any;
/**
* 子表有无匹配的值
* @param chainedPropName
* @param propertyName
* @param propertyValue
*/
IsContainMatch(chainedPropName: string, propertyName: string, propertyValue: any): any;
MinValueOfPeriod(chainedPropName: string, datePropertyName: string, valuePropertyName: string, start: any, end: any): any;
MaxValueOfPeriod(chainedPropName: string, datePropertyName: string, valuePropertyName: string, start: any, end: any): any;
AvgValueOfPeriod(chainedPropName: string, datePropertyName: string, valuePropertyName: string, start: any, end: any): any;
isValidDate(d: string | number | Date): boolean;
getIterable(item: any): any;
private comparator;
getPropValue(target: any, prop: string): any;
isEqual(v1: any, v2: any): boolean;
private hasProp;
/**
* 字符串函数**********************************************************************************
*/
StringSubstring(originalString: string, startIndex: number, length: number | undefined): string;
Length(originalString: string): number;
StringLength(originalString: string | any[]): number;
StringReplace(originalString: string, oldValue: string | RegExp, newValue: any): string;
ToUpper(originalString: string): string;
ToLower(originalString: string): string;
IndexOf(originalString: string, value: string): number;
LastIndexOf(originalString: string | any[], value: any): number;
TrimStart(originalString: string): string;
TrimEnd(originalString: string): string;
Trim(originalString: string): string;
SubString(originalString: string, startIndex: any, length: any): string;
GetStringLength(obj: any): number;
Replace(originalString: any, oldValue: any, newValue: any): string;
CreateGuid(): string;
CaseToSql(col: string | null): string;
IsNullEmpty(str: string | null): boolean;
Add(...str: string[]): string;
/**
* 转化类函数*****************************************************************************************
*/
ToByte(obj: number): number;
ToStringX(obj: null | undefined): string | null | undefined;
ToDateTime(obj: string | number | Date): Date;
ToBoolean(obj: string | null | undefined): boolean | null | undefined;
ToDecimal(obj: any): number;
ToBigDecimal(value: undefined): number;
ToCustomBigDecimal(value: number | string, fractionDigits?: number): string | 0;
ToDouble(obj: any): number;
ToFloat(obj: any): number;
ToInt16(obj: string): number;
ToInt32(obj: string): number;
ToChineseMoney(money: number): string;
/**
* 判断函数****************************************************************************8
*/
IsNull(obj: null): boolean;
IsNullOrWhiteSpace(obj: string | null): boolean;
IsNaN(obj: any): boolean;
IsNumber(obj: any): boolean;
/**
* 数学类函数***************************************************************************************************
*/
sin(value: number): number;
cos(value: number): number;
random(value: any): number;
ceil(value: number): number;
abs(value: number): number;
floor(value: number): number;
round(value: number, digits: number): number;
bankerRound(value: any, num: number): string | undefined;
/**
* 身份证函数**************************************************************************************************
*/
GetBirthday(idCard: string): string | null;
GetAge(idCard: any): number | undefined;
GetSex(idCard: string): string | null;
IsIDcard(idcard: string): boolean;
/**
* 日期型函数******************************************************************************************************
*/
DateTimeAddDays(date: string, value: number): string | Date;
DateTimeAddMonths(date: string, value: number): string | Date;
DateTimeAddYears(date: string, value: number): string | Date;
GetFirstDayOfMonth(date: string): string | null;
GetLastDayOfMonth(date: string): string | null;
GetDateTimeNow(): string | null;
CompareDate(str1: string, str2: string): 0 | 1 | -1 | undefined;
FormatDate(format?: string): string | null;
FormatDefineDate(format: string, datesStr?: null | string | Date): string | null;
Today(date?: null): string | null;
Yesterday(date?: null): string | null;
Tomorrow(date?: null): string | null;
ThisYear(date?: null): string;
LastYear(date?: null): string;
NextYear(date?: null): string;
ThisMonth(date?: null): string;
LastMonth(date?: null): string;
NextMonth(date?: null): string;
DayOfWeek(date?: null): string;
isLeapYear(year: number): boolean;
getMonthDays(year: any, month: string | number): number;
ThisWeek(date?: null): number;
LastWeek(date?: null): string;
NextWeek(date?: null): string;
FirstDayOfWeek(date?: null): string | null;
LastDayOfWeek(date?: null): string | null;
FirstDayOfLastWeek(date?: null): string | null;
LastDayOfLastWeek(date?: null): string | null;
FirstDayOfNextWeek(date?: null): string | null;
LastDayOfNextWeek(date?: null): string | null;
FirstDayOfMonth(date?: null): string | null;
LastDayOfMonth(date?: null): string | null;
FirstDayOfLastMonth(date?: null): string | null;
LastDayOfLastMonth(date?: null): string | null;
FirstDayOfNextMonth(date?: null): string | null;
LastDayOfNextMonth(date?: null): string | null;
FirstDayOfYear(date?: null): string | null;
LastDayOfYear(date?: null): string | null;
FirstDayOfLastYear(date?: null): string | null;
LastDayOfLastYear(date?: null): string | null;
FirstDayOfNextYear(date?: null): string | null;
LastDayOfNextYear(date?: null): string | null;
GetDate(format: any, date?: null): string | number | null;
/**
* 计算日期2与日期1直接相差的天数
* @param date1 日期1
* @param date2 日期2
* @description 当两个日期中有一个为空时,则不计算,返回null。
* 该函数是时间差中的一个实现,只返回差的天数,如果差的天数不足一天,则返回0
*/
DayDifference(date1: string, date2: string): number | null;
IsExistRecord(chainedPropName: string, propertyName: string, matchValue: string): any;
ListContains(chainedPropName: any, propertyName: any, matchValue: any): any;
ListGreaterThan(chainedPropName: any, propertyName: any, matchValue: any): any;
ListLessThan(chainedPropName: any, propertyName: any, matchValue: any): any;
ListStartWith(chainedPropName: any, propertyName: any, matchValue: any): any;
ListEndWith(chainedPropName: any, propertyName: any, matchValue: any): any;
getComputeJsonData(chainedPropName: any, propertyName: any): void;
Contains(originalString: string | any[], matchString: null): boolean;
NotContains(originalString: string | any[] | null, matchString: null): boolean;
StartsWith(originalString: string | null, matchString: null): boolean;
NotStartsWith(originalString: string | null, matchString: null): boolean;
EndsWith(originalString: string | null, matchString: null): boolean;
NotEndsWith(originalString: string | null, matchString: null): boolean;
trimStart(s: string | null, c: any): string | null;
trimEnd(s: string | null | undefined, c: any): string | null | undefined;
trimStartEnd(s: any, c: any): string | null | undefined;
MultiplyChildNumber(chainedPropName: string, prop1: string, prop2: string): any;
}