wapform_expression library

Classes

ExprDataSet
Corresponds to Pascal TmyParser Corresponds to Delphi's TDataSet/TField: the evaluator can register datasets, and expressions read values via Dataset.COUNT / .BOF / .EOF / .STATE / .field (FindField).
IdentRecord
Corresponds to Pascal TStIdentRec
MyParser
WapEvaluator

Enums

ExprToken
Corresponds to Pascal TExprToken
IdentKind
Identifier kind

Functions

COB_ABS(dynamic value) → dynamic
COB_ACOS(dynamic value) → dynamic
COB_ANNUITY(dynamic v1, dynamic v2) → dynamic
ANNUITY(rate, periods)
COB_ASIN(dynamic value) → dynamic
COB_ATAN(dynamic value) → dynamic
COB_BOOLEAN_OF_INTEGER(dynamic v1, dynamic v2) → dynamic
BOOLEAN-OF-INTEGER(n, len): converts an integer to a bit string
COB_BYTE_LENGTH(dynamic value) → dynamic
COB_CHAR(dynamic value) → dynamic
CHAR(n): ordinal n → character (COBOL ordinal = ASCII + 1)
COB_COMBINED_DATETIME(dynamic v1, dynamic v2) → dynamic
COMBINED-DATETIME(date_int, time_secs)
COB_CONCATENATE(List values) → dynamic
COB_COS(dynamic value) → dynamic
COB_CURRENCY_SYMBOL() → dynamic
COB_CURRENT_DATE() → dynamic
CURRENT-DATE (returns a full timestamp string yyyyMMddHHmmsscc+HHmm)
COB_DATE_OF_INTEGER(dynamic value) → dynamic
DATE-OF-INTEGER(n) → YYYYMMDD
COB_DATE_TO_YYYYMMDD(dynamic v1, dynamic v2) → dynamic
DATE-TO-YYYYMMDD(yymmdd, pivot)
COB_DAY_OF_INTEGER(dynamic value) → dynamic
DAY-OF-INTEGER(n) → YYYYDDD
COB_E() → dynamic
COB_EXP(dynamic value) → dynamic
COB_EXP10(dynamic value) → dynamic
COB_FACTORIAL(dynamic value) → dynamic
FACTORIAL:n!
COB_FRACTION_PART(dynamic value) → dynamic
FRACTION-PART: the fractional part
COB_HIGHEST_ALGEBRAIC(dynamic value) → dynamic
HIGHEST-ALGEBRAIC: the type's maximum value (based on the runtime type)
COB_INTEGER(dynamic value) → dynamic
INTEGER: rounds down (floor)
COB_INTEGER_OF_BOOLEAN(dynamic value) → dynamic
INTEGER-OF-BOOLEAN(s): converts a bit string to an integer
COB_INTEGER_OF_DATE(dynamic value) → dynamic
INTEGER-OF-DATE(YYYYMMDD) → integer day
COB_INTEGER_OF_DAY(dynamic value) → dynamic
INTEGER-OF-DAY(YYYYDDD) → integer day
COB_INTEGER_PART(dynamic value) → dynamic
INTEGER-PART: truncates toward zero
COB_LENGTH(dynamic value) → dynamic
COB_LOCALE_COMPARE(dynamic v1, dynamic v2) → dynamic
LOCALE-COMPARE(s1, s2) → '<' '=' '>'
COB_LOCALE_DATE(dynamic value) → dynamic
COB_LOCALE_TIME(dynamic value) → dynamic
COB_LOG(dynamic value) → dynamic
COB_LOG10(dynamic value) → dynamic
COB_LOWER_CASE(dynamic value) → dynamic
COB_LOWEST_ALGEBRAIC(dynamic value) → dynamic
LOWEST-ALGEBRAIC: the type's minimum value
COB_MAX(List values) → dynamic
COB_MEAN(List values) → dynamic
COB_MEDIAN(List values) → dynamic
COB_MIDRANGE(List values) → dynamic
COB_MIN(List values) → dynamic
COB_MOD(dynamic v1, dynamic v2) → dynamic
MOD: result's sign matches the divisor (COBOL standard)
COB_MONETARY_DECIMAL_POINT() → dynamic
COB_MONETARY_THOUSANDS_SEPARATOR() → dynamic
COB_NUMERIC_DECIMAL_POINT() → dynamic
COB_NUMERIC_THOUSANDS_SEPARATOR() → dynamic
COB_NUMVAL(dynamic value) → dynamic
COB_NUMVAL_C(dynamic v1, dynamic v2) → dynamic
COB_NUMVAL_F(dynamic value) → dynamic
COB_ORD(dynamic value) → dynamic
ORD(c): character → ordinal (= ASCII + 1)
COB_ORD_MAX(List values) → dynamic
ORD-MAX: returns the 1-based index of the maximum value
COB_ORD_MIN(List values) → dynamic
ORD-MIN: returns the 1-based index of the minimum value
COB_PI() → dynamic
COB_PRESENT_VALUE(List values) → dynamic
PRESENT-VALUE(rate, amt1, amt2, ...)
COB_RANDOM(dynamic value) → dynamic
RANDOM(seed): doesn't reset when seed=0
COB_RANGE(List values) → dynamic
COB_REM(dynamic v1, dynamic v2) → dynamic
REM: result's sign matches the dividend
COB_REVERSE(dynamic value) → dynamic
COB_SECONDS_PAST_MIDNIGHT() → dynamic
SECONDS-PAST-MIDNIGHT
COB_SIGN(dynamic value) → dynamic
COB_SIN(dynamic value) → dynamic
COB_SQRT(dynamic value) → dynamic
COB_STANDARD_COMPARE(dynamic v1, dynamic v2) → dynamic
STANDARD-COMPARE(s1, s2) → '<' '=' '>'
COB_STANDARD_DEVIATION(List values) → dynamic
COB_STORED_CHAR_LENGTH(dynamic value) → dynamic
COB_SUBSTITUTE(List values) → dynamic
SUBSTITUTE(str, from1, to1, from2, to2, ...)
COB_SUBSTITUTE_CASE(List values) → dynamic
SUBSTITUTE-CASE (case-insensitive)
COB_SUM(List values) → dynamic
COB_TAN(dynamic value) → dynamic
COB_TEST_DATE_YYYYMMDD(dynamic value) → dynamic
TEST-DATE-YYYYMMDD: 0=valid
COB_TEST_DAY_YYYYDDD(dynamic value) → dynamic
TEST-DAY-YYYYDDD: 0=valid
COB_TEST_NUMVAL(dynamic value) → dynamic
COB_TEST_NUMVAL_C(dynamic v1, dynamic v2) → dynamic
COB_TEST_NUMVAL_F(dynamic value) → dynamic
COB_TRIM(dynamic v1, dynamic v2) → dynamic
TRIM(str, mode) mode: 'LEADING' | 'TRAILING' | '' (both ends)
COB_UPPER_CASE(dynamic value) → dynamic
COB_VARIANCE(List values) → dynamic
COB_WHEN_COMPILED() → dynamic
WHEN-COMPILED: same as CURRENT-DATE
COB_YEAR_TO_YYYY(dynamic v1, dynamic v2) → dynamic
YEAR-TO-YYYY(yy, pivot)
decrypt(dynamic value1, dynamic value2) → dynamic
XOR decrypt; returns an empty string directly for an empty password
encrypt(dynamic value1, dynamic value2) → dynamic
XOR encrypt; returns an empty string directly for an empty password
fnAbs(dynamic value) → dynamic
fnAddWorkDaysSerial(dynamic v1, dynamic v2) → dynamic
fnAnnuity(dynamic v1, dynamic v2) → dynamic
Annuity(rate, periods): present-value annuity factor per period (capital recovery factor)
fnANSI(dynamic value) → dynamic
fnAnsiCompareStr(dynamic v1, dynamic v2) → dynamic
fnAnsiCompareText(dynamic v1, dynamic v2) → dynamic
fnAnsiDelete(dynamic v1, dynamic v2, dynamic v3) → dynamic
fnAnsiInsert(dynamic v1, dynamic v2, dynamic v3) → dynamic
fnAnsiLength(dynamic value) → dynamic
fnAnsiLowerCase(dynamic value) → dynamic
fnAnsiMid(dynamic v1, dynamic v2, dynamic v3) → dynamic
fnAnsiPos(dynamic v1, dynamic v2) → dynamic
fnAnsiUpperCase(dynamic value) → dynamic
fnArcCos(dynamic value) → dynamic
fnArcSin(dynamic value) → dynamic
fnArcTan(dynamic value) → dynamic
fnARRAY(dynamic value) → dynamic
fnAsc(dynamic value) → dynamic
fnAssigned(dynamic value) → dynamic
fnAsSqlStr(dynamic value) → dynamic
AsSqlStr(v): escapes single quotes (doesn't add the surrounding quotes)
fnBDATE(dynamic value) → dynamic
fnBomDateSerial(dynamic v1, dynamic v2) → dynamic
fnByteLength(dynamic value) → dynamic
ByteLength(str): the string's UTF-8 byte length
fnCeil(dynamic value) → dynamic
fnCELL(dynamic v1, dynamic v2) → dynamic
fnCHR(dynamic value) → dynamic
fnCODE(dynamic value) → dynamic
fnColorToHex(dynamic value) → dynamic
fnCombinedDateTime(dynamic v1, dynamic v2) → dynamic
CombinedDateTime(dateInt, seconds): combines a COBOL internal date integer and seconds into a serial
fnCompareStr(dynamic v1, dynamic v2) → dynamic
fnCompareText(dynamic v1, dynamic v2) → dynamic
fnConcatenateStr(List values) → dynamic
ConcatenateStr(values): concatenates multiple strings (no separator)
fnCOPY(dynamic v1, dynamic v2, dynamic v3) → dynamic
fnCos(dynamic value) → dynamic
fnCOUNT(List values) → dynamic
fnCPU() → dynamic
fnDATE() → dynamic
fnDateAddValueSerial(dynamic v1, dynamic v2, dynamic v3) → dynamic
fnDateOfInteger(dynamic value) → dynamic
DateOfInteger(cobolInt): converts a COBOL internal date integer to YYYYMMDD
fnDatePeriodEndSerial(dynamic v1, dynamic v2) → dynamic
fnDatePeriodStartSerial(dynamic v1, dynamic v2) → dynamic
fnDateSerialValue(dynamic y, dynamic m, dynamic d) → dynamic
fnDateTimeToStr(dynamic value) → dynamic
fnDateToStr(dynamic value) → dynamic
fnDateToYyyymmdd(dynamic v1, dynamic v2) → dynamic
DateToYyyymmdd(yymmdd, pivot): converts a 6-digit date to 8 digits using a pivot year
fnDAY(dynamic value) → dynamic
fnDayOfInteger(dynamic value) → dynamic
DayOfInteger(cobolInt): converts a COBOL internal date integer to YYYYDDD
fnDAYOFMONTH(dynamic value) → dynamic
fnDAYOFWEEK(dynamic value) → dynamic
fnDAYOFYEAR(dynamic value) → dynamic
fnDaysInAMonth(dynamic v1, dynamic v2) → dynamic
fnDBX() → dynamic
fnDECVal(dynamic v1, dynamic v2) → dynamic
fnDEFINE(dynamic value) → dynamic
fnDELETE(dynamic v1, dynamic v2, dynamic v3) → dynamic
fnEomDateSerial(dynamic v1, dynamic v2) → dynamic
fnEulerNumber() → dynamic
EulerNumber: Euler's number e (no arguments)
fnExp(dynamic value) → dynamic
fnExp10Value(dynamic value) → dynamic
Exp10Value(n): 10 raised to the argument's power
fnExtractFileDir(dynamic value) → dynamic
fnExtractFileDrive(dynamic value) → dynamic
fnExtractFileExt(dynamic value) → dynamic
fnExtractFileName(dynamic value) → dynamic
fnExtractFileNameNoExt(dynamic value) → dynamic
fnExtractFilePath(dynamic value) → dynamic
fnFactorial(dynamic value) → dynamic
Factorial(n): factorial n!
fnFALSE() → dynamic
fnFillChar(dynamic v1, dynamic v2) → dynamic
FillChar(count, ch): fills a string of length count with the given character
fnFloat(dynamic value) → dynamic
fnFloatToStr(dynamic value) → dynamic
fnFloor(dynamic value) → dynamic
fnFORMAT(dynamic v1, dynamic v2) → dynamic
fnFormatDateTime(dynamic v1, dynamic v2) → dynamic
fnFormatFloat(dynamic v1, dynamic v2) → dynamic
fnFrac(dynamic value) → dynamic
fnGetFreeRes() → dynamic
fnGetMacPhysicalAddress() → dynamic
fnGetPhysMem() → dynamic
fnGetUrlContent(dynamic value) → dynamic
fnHex(dynamic v1, dynamic v2) → dynamic
fnHexToColor(dynamic value) → dynamic
fnHexToInt(dynamic value) → dynamic
fnHexToStr(dynamic value) → dynamic
fnHIGH(List values) → dynamic
HIGH(values): the array's maximum index (0-based)
fnHigh(dynamic value) → dynamic
fnHighestAlgebraic(dynamic value) → dynamic
HighestAlgebraic(n): returns the maximum value representable by the argument's data type (this engine's numeric types can't be reliably distinguished, so it always returns the Int32 upper bound)
fnHOUR(dynamic value) → dynamic
fnHTML(dynamic value) → dynamic
fnImg(dynamic v1, dynamic v2) → dynamic
fnINCVal(dynamic v1, dynamic v2) → dynamic
fnINSERT(dynamic v1, dynamic v2, dynamic v3) → dynamic
fnINSTR(dynamic v1, dynamic v2) → dynamic
fnInt(dynamic value) → dynamic
fnIntegerOfDate(dynamic value) → dynamic
IntegerOfDate(yyyymmdd): converts YYYYMMDD to a COBOL internal date integer
fnIntegerOfDay(dynamic value) → dynamic
IntegerOfDay(yyyyddd): converts YYYYDDD to a COBOL internal date integer
fnIntToHex(dynamic v1, dynamic v2) → dynamic
fnIntToStr(dynamic value) → dynamic
fnIsLeapYear(dynamic value) → dynamic
fnISNULL(dynamic value) → dynamic
fnISNUMBER(dynamic value) → dynamic
fnISODD(dynamic value) → dynamic
fnISSEVEN(dynamic value) → dynamic
fnLastMonth() → dynamic
fnLastNight() → dynamic
fnLastWeek() → dynamic
fnLastYear() → dynamic
fnLeadByte(dynamic v1, dynamic v2) → dynamic
fnLENGTH(dynamic value) → dynamic
fnLIKE(dynamic v1, dynamic v2) → dynamic
fnLn(dynamic value) → dynamic
fnLoCaseInsensitive() → dynamic
fnLOCATE(dynamic v1, dynamic v2) → dynamic
fnLog10Value(dynamic value) → dynamic
LOG(n): base-10 logarithm
fnLoPartialKey() → dynamic
fnLOW(List values) → dynamic
LOW(values): the array's minimum index (always 0)
fnLow(dynamic value) → dynamic
fnLOWER(dynamic value) → dynamic
fnLowestAlgebraic(dynamic value) → dynamic
LowestAlgebraic(n): returns the minimum value representable by the argument's data type (this engine's numeric types can't be reliably distinguished, so it always returns the Int32 lower bound)
fnLTRIM(dynamic value) → dynamic
fnMax(dynamic v1, dynamic v2) → dynamic
fnMD5(dynamic value) → dynamic
fnMeanValue(List values) → dynamic
MeanValue(values): arithmetic mean
fnMedianValue(List values) → dynamic
MedianValue(values): median
fnMID(dynamic v1, dynamic v2, dynamic v3) → dynamic
fnMidRangeValue(List values) → dynamic
MidRangeValue(values): (max + min) / 2
fnMin(dynamic v1, dynamic v2) → dynamic
fnMINUTE(dynamic value) → dynamic
fnMONTH(dynamic value) → dynamic
fnMyDate(dynamic value) → dynamic
fnMyDateTime(dynamic value) → dynamic
fnNAME(dynamic value) → dynamic
fnNBSP() → dynamic
fnNextWeekDaySerial(dynamic v1, dynamic v2) → dynamic
fnNOW() → dynamic
fnNULL() → dynamic
fnNumValC(dynamic v1, dynamic v2) → dynamic
NumValC(str, currencySymbol): converts a string with a currency symbol and thousands-separator commas to a number
fnNumValF(dynamic value) → dynamic
NumValF(str): converts a floating-point string in scientific notation to a number
fnOdd(dynamic value) → dynamic
fnORD(dynamic value) → dynamic
fnOrd(dynamic value) → dynamic
Ord(v): converts a character to its ordinal value; returns as-is if already an integer
fnOrdMax(List values) → dynamic
OrdMax(values): the 1-based position of the maximum value in the argument list
fnOrdMin(List values) → dynamic
OrdMin(values): the 1-based position of the minimum value in the argument list
fnPi() → dynamic
fnPOS(dynamic v1, dynamic v2) → dynamic
fnPower(dynamic v1, dynamic v2) → dynamic
fnPrevWeekDaySerial(dynamic v1, dynamic v2) → dynamic
fnRandom(dynamic value) → dynamic
fnRandomRange(dynamic v1, dynamic v2) → dynamic
fnRangeValue(List values) → dynamic
RangeValue(values): range (max - min)
fnRemainderValue(dynamic v1, dynamic v2) → dynamic
RemainderValue(a, b): floating-point remainder, with the same sign as the dividend
fnREPLACE(dynamic v1, dynamic v2, dynamic v3) → dynamic
fnReplaceAt(dynamic v1, dynamic v2, dynamic v3) → dynamic
fnReverseStr(dynamic value) → dynamic
ReverseStr(str): reverses a string
fnRound(dynamic v) → dynamic
fnRoundTo(dynamic v1, dynamic v2) → dynamic
fnRTRIM(dynamic value) → dynamic
fnSECOND(dynamic value) → dynamic
fnSignOf(dynamic value) → dynamic
SignOf(n): returns -1, 0, or 1
fnSin(dynamic value) → dynamic
fnSqr(dynamic value) → dynamic
fnSqrt(dynamic value) → dynamic
fnStandardCompare(dynamic v1, dynamic v2) → dynamic
StandardCompare(a, b): ordinal string comparison, returns '<'/'='/'>'
fnStandardDeviation(List values) → dynamic
StandardDeviation(values): standard deviation (population)
fnStoredCharLength(dynamic value) → dynamic
StoredCharLength(str): the effective length after trimming trailing whitespace
fnSTR(dynamic value) → dynamic
fnStrToDate(dynamic value) → dynamic
fnStrToDateTime(dynamic value) → dynamic
fnStrToFloat(dynamic value) → dynamic
fnStrToHex(dynamic value) → dynamic
fnStrToInt(dynamic value) → dynamic
fnStrToTime(dynamic value) → dynamic
fnSubstituteCaseStr(List values) → dynamic
SubstituteCaseStr(values): same as SubstituteStr, but case-insensitive matching
fnSubstituteStr(List values) → dynamic
SubstituteStr(values): str, old1, new1, old2, new2, ... replaces each pair in sequence, case-sensitive
fnTan(dynamic value) → dynamic
fnTDATE() → dynamic
fnTestDateYyyymmdd(dynamic value) → dynamic
TestDateYyyymmdd(yyyymmdd): validates whether it's a legal date; 0=valid, 1=invalid
fnTestDayYyyyddd(dynamic value) → dynamic
TestDayYyyyddd(yyyyddd): validates whether it's a legal year-day; 0=valid, 1=invalid
fnTestNumVal(dynamic value) → dynamic
TestNumVal(str): tests whether a string can safely convert to a number; 0=yes, 1=no
fnTestNumValC(dynamic v1, dynamic v2) → dynamic
TestNumValC(str, currencySymbol): the currency-symbol-aware version of the safety test
fnTIME() → dynamic
fnTimeSerialValue(dynamic h, dynamic m, dynamic s) → dynamic
fnTimeToStr(dynamic value) → dynamic
fnTODAY() → dynamic
fnToFloatSafe(dynamic value) → dynamic
ToFloatSafe(v): safely converts to a float, returning 0 on failure
fnToIntegerValue(dynamic value) → dynamic
ToIntegerValue(n): the largest integer not exceeding the argument (rounds down)
fnToIntSafe(dynamic value) → dynamic
ToIntSafe(v): safely converts to an integer, returning 0 on failure
fnTRIM(dynamic value) → dynamic
fnTrimLeft(dynamic value) → dynamic
fnTrimRight(dynamic value) → dynamic
fnTRUE() → dynamic
fnTrunc(dynamic value) → dynamic
fnUPPER(dynamic value) → dynamic
fnUPPERA(dynamic value) → dynamic
fnUTF8(dynamic value) → dynamic
fnVALUE(dynamic value) → dynamic
fnVarianceValue(List values) → dynamic
VarianceValue(values): variance (population, divided by N)
fnVarIsNull(dynamic value) → dynamic
fnVarToStr(dynamic value) → dynamic
fnVarType(dynamic value) → dynamic
fnWEEK(dynamic value) → dynamic
fnYEAR(dynamic value) → dynamic
fnYearToYyyy(dynamic v1, dynamic v2) → dynamic
YearToYyyy(yy, pivot): converts a 2-digit year to 4 digits using a pivot year
fnYesterday() → dynamic
hexToStr(String source) → String
UTF-8 hex string → string
iif(dynamic condition, dynamic trueVal, dynamic falseVal) → dynamic
IIF(condition, trueVal, falseVal)
kiriage(double x, int n) → double
Round up / ceiling (corresponds to Pascal Kiriage)
kirisute(double x, int n) → double
Round down / truncate (corresponds to Pascal Kirisute)
mySimpleRoundTo(double value, int digit) → double
Simple rounding (corresponds to Pascal MySimpleRoundTo)
shisha(double x, int n) → double
Round to nearest (corresponds to Pascal Shisha)
strToHex(String source) → String
String → UTF-8 hex string
tt_ADDWORKDAYS(dynamic v1, dynamic v2) → dynamic
tt_ADDWORKDAYS(date, n): adds n working days (skips Sat/Sun)
tt_AGE(dynamic v1, dynamic v2) → dynamic
tt_AGE(birthdate, asofdate): calculates age in full years from a birthdate
tt_ARRAVG(List values) → dynamic
tt_ARRAVG(values): the average of several values
tt_ARRCONTAINS(List values) → dynamic
tt_ARRCONTAINS(values, target): the last argument is target
tt_ARRJOIN(List values) → dynamic
tt_ARRJOIN(values, delim): the last argument is delim
tt_ARRMAX(List values) → dynamic
tt_ARRMAX(values): the maximum of several values
tt_ARRMIN(List values) → dynamic
tt_ARRMIN(values): the minimum of several values
tt_ARRSUM(List values) → dynamic
tt_ARRSUM(values): the sum of several values
tt_ARRUNIQ(List values) → dynamic
tt_ARRUNIQ(values): removes duplicate values, returns joined by commas
tt_As10(dynamic value) → dynamic
tt_As10(v):Boolean → '1'/'0'
tt_AsBit(dynamic value) → dynamic
tt_AsBit(v): integer → '1'/'0'
tt_AsBool(dynamic value) → dynamic
tt_AsBool(v):Variant → Boolean
tt_AsCsv(List values) → dynamic
tt_AsCsv(values): multiple values → a single CSV line
tt_AsCurr(dynamic v1, dynamic v2) → dynamic
tt_AsCurr(v, d): thousands-separated currency string
tt_AsDate(dynamic value) → dynamic
tt_AsDate(v): Variant → date (DateTime)
tt_AsDateTime(dynamic value) → dynamic
tt_AsDateTime(v): Variant → date-time
tt_AsDefault(dynamic v1, dynamic v2) → dynamic
tt_AsDefault(v, default): uses the default value when Null
tt_AsDQuoted(dynamic value) → dynamic
tt_AsDQuoted(v): wrapped in double quotes, internal quotes backslash-escaped
tt_AsFixed(dynamic v1, dynamic v2) → dynamic
tt_AsFixed(v, d): fixed-decimal-place string
tt_AsFloat(dynamic value) → dynamic
tt_AsFloat(v):Variant → Float
tt_AsHex(dynamic v1, dynamic v2) → dynamic
tt_AsHex(v, width): integer → hexadecimal
tt_AsInt(dynamic value) → dynamic
tt_AsInt(v):Variant → Integer
tt_AsISO(dynamic value) → dynamic
tt_AsISO(v): ISO 8601 date string
tt_AsJson(dynamic value) → dynamic
tt_AsJson(v): a single value → a plain JSON value
tt_AsLower(dynamic value) → dynamic
tt_AsLower(v): all lowercase
tt_AsNullable(dynamic value) → dynamic
tt_AsNullable(v): empty→NULL, otherwise quoted
tt_AsOct(dynamic value) → dynamic
tt_AsOct(v): integer → octal
tt_AsPct(dynamic v1, dynamic v2) → dynamic
tt_AsPct(v, d): percentage string
tt_AsQuoted(dynamic value) → dynamic
tt_AsQuoted(v): wrapped in single quotes, internal quotes doubled (escaped)
tt_AsRDate(dynamic value) → dynamic
tt_AsRDate(v): ROC-calendar-year date
tt_AsRDateTime(dynamic value) → dynamic
tt_AsRDateTime(v): ROC-calendar-year date-time
tt_AsSci(dynamic v1, dynamic v2) → dynamic
tt_AsSci(v, d): scientific-notation string, formatted as 1.23E+04 (uppercase E, exponent zero-padded to 2 digits)
tt_AsSlug(dynamic value) → dynamic
tt_AsSlug(v):URL slug
tt_AsSQLStr(dynamic value) → dynamic
tt_AsSQLStr(v): SQL-safe string (inside single quotes, ' becomes '')
tt_AsString(dynamic value) → dynamic
tt_AsString(v):Variant → String
tt_AsTF(dynamic value) → dynamic
tt_AsTF(v):Boolean → 'T'/'F'
tt_AsTime(dynamic value) → dynamic
tt_AsTime(v): Variant → time
tt_AsTrimmed(dynamic value) → dynamic
tt_AsTrimmed(v): trims whitespace from both ends
tt_AsUpper(dynamic value) → dynamic
tt_AsUpper(v): all uppercase
tt_AsYN(dynamic value) → dynamic
tt_AsYN(v):Boolean → 'Y'/'N'
tt_BETWEEN(dynamic v1, dynamic v2, dynamic v3) → dynamic
tt_BETWEEN(value, lo, hi): whether a value is within the lo, hi range
tt_BITAND(dynamic v1, dynamic v2) → dynamic
tt_BITAND(a, b): bitwise AND
tt_BITNOT(dynamic value) → dynamic
tt_BITNOT(a): bitwise NOT (uses the pure-arithmetic equivalent -x-1 instead of the ~ operator, to guard against possible bitwise-op discrepancies under Web compilation)
tt_BITOR(dynamic v1, dynamic v2) → dynamic
tt_BITOR(a, b): bitwise OR
tt_BITSHL(dynamic v1, dynamic v2) → dynamic
tt_BITSHL(a, n): shift left n bits
tt_BITSHR(dynamic v1, dynamic v2) → dynamic
tt_BITSHR(a, n): shift right n bits
tt_BITXOR(dynamic v1, dynamic v2) → dynamic
tt_BITXOR(a, b): bitwise XOR
tt_BOMDATE(dynamic v1, dynamic v2) → dynamic
tt_BOMDATE(year, month): the first day of the given year/month
tt_BR2CRLF(dynamic value) → dynamic
tt_BR2CRLF(str):
→ newline
tt_BYTESIZE(dynamic value) → dynamic
tt_BYTESIZE(n): returns how many bytes are needed to store n bits
tt_CAPWORDS(dynamic value) → dynamic
tt_CAPWORDS(str): capitalizes the first letter of each word
tt_CBRT(dynamic value) → dynamic
tt_CBRT(x): cube root
tt_CHARAT(dynamic v1, dynamic v2) → dynamic
tt_CHARAT(str, n): gets the nth character (1-based)
tt_CHECKSUM(dynamic value) → dynamic
tt_CHECKSUM(str): XOR checksum
tt_CHOOSE(List values) → dynamic
tt_CHOOSE(index, values): picks a value from the list by (1-based) index
tt_CLAMP(dynamic v1, dynamic v2, dynamic v3) → dynamic
tt_CLAMP(value, lo, hi): clamps a value to the lo, hi range
tt_COALESCE(List values) → dynamic
tt_COALESCE: returns the first non-Null value (variadic)
tt_COMMAFMT(dynamic value) → dynamic
tt_COMMAFMT(value): adds thousands separators to a number (integer)
tt_CONTAINS(dynamic v1, dynamic v2) → dynamic
tt_CONTAINS(str, substr): whether the string contains the substring
tt_COUNTSTR(dynamic v1, dynamic v2) → dynamic
tt_COUNTSTR(substr, str): counts occurrences of a substring
tt_CRLF2BR(dynamic value) → dynamic
tt_CRLF2BR(str): newline →
tt_CUMIPMT(List values) → dynamic
tt_CUMIPMT(rate, nper, pv, startPeriod, endPeriod): cumulative interest
tt_DATEADD(dynamic v1, dynamic v2, dynamic v3) → dynamic
tt_DATEADD(date, n, unit): adds/subtracts from a date; unit='D'/'M'/'Y'/'W'
tt_DATEDIFF(dynamic v1, dynamic v2, dynamic v3) → dynamic
tt_DATEDIFF(date1, date2, unit): date difference
tt_DATEEND(dynamic v1, dynamic v2) → dynamic
tt_DATEEND(date, unit): end of a period; unit='M'=end of month/'Y'=end of year
tt_DATESERIAL(dynamic v1, dynamic v2, dynamic v3) → dynamic
tt_DATESERIAL(y, m, d): builds a DateTime from year/month/day
tt_DATESTART(dynamic v1, dynamic v2) → dynamic
tt_DATESTART(date, unit): start of a period; unit='M'=start of month/'Y'=start of year/'W'=Monday
tt_DAYNAME(dynamic value) → dynamic
tt_DAYNAME(date): weekday name (returned in Chinese — this is a data value used by WML output, not a comment, so it is intentionally left untranslated; translating it would change the function's runtime behavior)
tt_DECODE(List values) → dynamic
tt_DECODE(val, case1, result1, ..., default):Oracle DECODE
tt_DEG2RAD(dynamic value) → dynamic
tt_DEG2RAD(deg): degrees → radians
tt_ELLIPSIS(dynamic v1, dynamic v2) → dynamic
tt_ELLIPSIS(str, maxLen): truncates and adds '...'
tt_ENDSWITH(dynamic v1, dynamic v2) → dynamic
tt_ENDSWITH(str, suffix): whether the string ends with suffix
tt_EOMDATE(dynamic v1, dynamic v2) → dynamic
tt_EOMDATE(year, month): the last day of the given year/month
tt_EVEN(dynamic value) → dynamic
tt_EVEN(n): the smallest even number ≥ n
tt_FIB(dynamic value) → dynamic
tt_FIB(n): the nth Fibonacci number (0-based)
tt_FISCALQUARTER(dynamic v1, dynamic v2) → dynamic
tt_FISCALQUARTER(date, fiscalStartMonth): fiscal quarter
tt_FISCALYEAR(dynamic v1, dynamic v2) → dynamic
tt_FISCALYEAR(date, fiscalStartMonth): fiscal year
tt_FROMBIN(dynamic value) → dynamic
tt_FROMBIN(str): converts a binary string to an integer
tt_FROMHEX(dynamic value) → dynamic
tt_FROMHEX(str): converts a hex string to an integer
tt_FV(dynamic v1, dynamic v2, dynamic v3, dynamic v4) → dynamic
tt_FV(rate, nper, pmt, pv): future value
tt_GCD(dynamic v1, dynamic v2) → dynamic
tt_GCD(a, b): greatest common divisor
tt_GEOMEAN(List values) → dynamic
tt_GEOMEAN(values): geometric mean
tt_GUID() → dynamic
tt_GUID: generates a new GUID string
tt_HARMEAN(List values) → dynamic
tt_HARMEAN(values): harmonic mean
tt_HASH(dynamic value) → dynamic
tt_HASH(str): a simple djb2 hash (32-bit, returned as a hex string)
tt_HTMLDECODE(dynamic value) → dynamic
tt_HTMLDECODE(str): HTML special-character decoding
tt_HTMLENCODE(dynamic value) → dynamic
tt_HTMLENCODE(str): HTML special-character encoding
tt_HYPOT(dynamic v1, dynamic v2) → dynamic
tt_HYPOT(a, b): hypotenuse of a right triangle, sqrt(a²+b²)
tt_INDEXOF(dynamic v1, dynamic v2, dynamic v3) → dynamic
tt_INDEXOF(str, sub, start): finds a substring starting from start (1-based)
tt_IPMT(dynamic v1, dynamic v2, dynamic v3, dynamic v4) → dynamic
tt_IPMT(rate, per, nper, pv): interest portion of payment n
tt_IRR(List values) → dynamic
tt_IRR(values, guess): internal rate of return (Newton-Raphson iteration)
tt_ISPRIME(dynamic value) → dynamic
tt_ISPRIME(n): whether n is prime
tt_ISWEEKDAY(dynamic value) → dynamic
tt_ISWEEKDAY(date): whether it's a weekday (Monday~Friday)
tt_ISWEEKEND(dynamic value) → dynamic
tt_ISWEEKEND(date): whether it's Saturday or Sunday
tt_JOIN(dynamic v1, dynamic v2) → dynamic
tt_JOIN(values, delim): merges after cleaning up extra whitespace
tt_KEEPCHARS(dynamic v1, dynamic v2) → dynamic
tt_KEEPCHARS(str, chars): keeps only the given set of characters
tt_LASTINDEXOF(dynamic v1, dynamic v2) → dynamic
tt_LASTINDEXOF(str, sub): finds a substring searching from the right (1-based)
tt_LCM(dynamic v1, dynamic v2) → dynamic
tt_LCM(a, b): least common multiple
tt_LERP(dynamic v1, dynamic v2, dynamic v3) → dynamic
tt_LERP(a, b, t): linear interpolation a + (b-a)*t
tt_LOG2(dynamic value) → dynamic
tt_LOG2(x): base-2 logarithm
tt_LOGN(dynamic v1, dynamic v2) → dynamic
tt_LOGN(base, x): logarithm base base
tt_LPAD(dynamic v1, dynamic v2, dynamic v3) → dynamic
tt_LPAD(str, len, ch): left-pads with the given character to width len
tt_MASK(dynamic v1, dynamic v2, dynamic v3) → dynamic
tt_MASK(str, mask, placeholder): mask formatting (placeholder defaults to '#')
tt_MONTHNAME(dynamic value) → dynamic
tt_MONTHNAME(date): month name (returned in Chinese — see the note on tt_DAYNAME above)
tt_NEXTWDAY(dynamic v1, dynamic v2) → dynamic
tt_NEXTWDAY(date, dow): finds the next occurrence of the given weekday from date (dow=1 Mon..7 Sun)
tt_NPER(dynamic v1, dynamic v2, dynamic v3) → dynamic
tt_NPER(rate, pmt, pv): number of payment periods
tt_NPV(List values) → dynamic
tt_NPV(rate, values): net present value
tt_NUMFMT(dynamic v1, dynamic v2) → dynamic
tt_NUMFMT(value, decimals): numeric formatting, thousands separator + decimal places
tt_NVL(dynamic v1, dynamic v2) → dynamic
tt_NVL(value, default): returns default if value is Null
tt_NVL2(dynamic v1, dynamic v2, dynamic v3) → dynamic
tt_NVL2(value, notNullVal, nullVal):Oracle NVL2
tt_ODD(dynamic value) → dynamic
tt_ODD(n): the smallest odd number ≥ n
tt_ONLYALPHA(dynamic value) → dynamic
tt_ONLYALPHA(str): keeps only English letters
tt_ONLYDIGITS(dynamic value) → dynamic
tt_ONLYDIGITS(str): keeps only digits
tt_PADC(dynamic v1, dynamic v2) → dynamic
tt_PADC(str, len): center-pads with spaces to width len
tt_PADL(dynamic v1, dynamic v2) → dynamic
tt_PADL(str, len): left-pads with spaces to width len
tt_PADR(dynamic v1, dynamic v2) → dynamic
tt_PADR(str, len): right-pads with spaces to width len
tt_PERCENT(dynamic v1, dynamic v2) → dynamic
tt_PERCENT(part, total): percentage calculation
tt_PMT(dynamic v1, dynamic v2, dynamic v3) → dynamic
tt_PMT(rate, nper, pv): the equal payment amount
tt_PPMT(dynamic v1, dynamic v2, dynamic v3, dynamic v4) → dynamic
tt_PPMT(rate, per, nper, pv): principal portion of payment n
tt_PREVWDAY(dynamic v1, dynamic v2) → dynamic
tt_PREVWDAY(date, dow): finds the previous occurrence of the given weekday before date
tt_PRODUCT(List values) → dynamic
tt_PRODUCT(values): product of the values Π(xᵢ)
tt_PV(dynamic v1, dynamic v2, dynamic v3) → dynamic
tt_PV(rate, nper, pmt): present value
tt_QUARTER(dynamic value) → dynamic
tt_QUARTER(date): gets the quarter (1~4)
tt_QUARTILE(List values) → dynamic
tt_QUARTILE(values, q): quartile; q=1 Q1, q=2 median, q=3 Q3
tt_RAD2DEG(dynamic value) → dynamic
tt_RAD2DEG(rad): radians → degrees
tt_RANDOMSTR(dynamic v1, dynamic v2) → dynamic
tt_RANDOMSTR(len, chars): generates a random string of the given length
tt_RATE(dynamic v1, dynamic v2, dynamic v3) → dynamic
tt_RATE(nper, pmt, pv): interest rate per period (Newton-Raphson approximation)
tt_RDATE(dynamic value) → dynamic
tt_RDATE(date): ROC-calendar-year date string YYY/MM/DD
tt_RDATETIME(dynamic value) → dynamic
tt_RDATETIME(date): ROC-calendar-year date-time string YYY/MM/DD HH:MM:SS
tt_REMOVECHARS(dynamic v1, dynamic v2) → dynamic
tt_REMOVECHARS(str, chars): removes the given set of characters
tt_REPEAT(dynamic v1, dynamic v2) → dynamic
tt_REPEAT(str, n): repeats the string n times
tt_ROUNDBANK(dynamic v1, dynamic v2) → dynamic
tt_ROUNDBANK(value, decimals): banker's rounding (round half to even)
tt_RPAD(dynamic v1, dynamic v2, dynamic v3) → dynamic
tt_RPAD(str, len, ch): right-pads with the given character to width len
tt_SLUGIFY(dynamic value) → dynamic
tt_SLUGIFY(str): converts to a URL slug
tt_SPLIT(dynamic v1, dynamic v2, dynamic v3) → dynamic
tt_SPLIT(str, delim, n): splits and takes the nth token (1-based)
tt_SPLITCOUNT(dynamic v1, dynamic v2) → dynamic
tt_SPLITCOUNT(str, delim): number of tokens after splitting
tt_STARTSWITH(dynamic v1, dynamic v2) → dynamic
tt_STARTSWITH(str, prefix): whether the string starts with prefix
tt_SUMSQ(List values) → dynamic
tt_SUMSQ(values): sum of squares Σ(xᵢ²)
tt_SWITCH(List values) → dynamic
tt_SWITCH(val, case1, result1, case2, result2, ..., defaultVal)
tt_TIMESERIAL(dynamic v1, dynamic v2, dynamic v3) → dynamic
tt_TIMESERIAL(h, m, s): builds a DateTime from hour/minute/second
tt_TOBIN(dynamic v1, dynamic v2) → dynamic
tt_TOBIN(n, width): converts an integer to a binary string
tt_TODATE(dynamic value) → dynamic
tt_TODATE: safely converts to date
tt_TOFLOAT(dynamic value) → dynamic
tt_TOFLOAT: safely converts to float
tt_TOHEX(dynamic value) → dynamic
tt_TOHEX(n): converts an integer to a hex string (no padding)
tt_TOINT(dynamic value) → dynamic
tt_TOINT: safely converts to integer
tt_TOKENAT(dynamic v1, dynamic v2, dynamic v3) → dynamic
tt_TOKENAT(str, delims, n): takes a token using multi-character delimiters (1-based)
tt_TRUNCWORDS(dynamic v1, dynamic v2) → dynamic
tt_TRUNCWORDS(str, n): truncates to the first n words
tt_TYPENAME(dynamic value) → dynamic
tt_TYPENAME: the type's name
tt_UNMASK(dynamic v1, dynamic v2, dynamic v3) → dynamic
tt_UNMASK(str, mask, placeholder): removes the mask, keeping only the characters at placeholder positions (placeholder defaults to '#')
tt_URLENCODE(dynamic value) → dynamic
tt_URLENCODE(str): URL percent-encoding
tt_WORKDAYS(dynamic v1, dynamic v2) → dynamic
tt_WORKDAYS(date1, date2): counts working days (excludes Sat/Sun)
tt_WRAP(dynamic v1, dynamic v2) → dynamic
tt_WRAP(str, width): inserts a line break (CRLF) every width characters
tt_YEARFRAC(dynamic v1, dynamic v2) → dynamic
tt_YEARFRAC(date1, date2): the fraction of a year between two dates (Actual/365)
tt_ZFILL(dynamic v1, dynamic v2) → dynamic
tt_ZFILL(n, width): zero-pads an integer to width digits
varToDateTime(dynamic v) → DateTime?
varToDouble(dynamic v) → double
varToInt(dynamic v) → int
varToStr(dynamic v) → String

Typedefs

Func0 = dynamic Function()
Function type aliases
Func1 = dynamic Function(dynamic value)
Func2 = dynamic Function(dynamic v1, dynamic v2)
Func3 = dynamic Function(dynamic v1, dynamic v2, dynamic v3)
Func4 = dynamic Function(dynamic v1, dynamic v2, dynamic v3, dynamic v4)
FuncA = dynamic Function(List values)