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
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
fnBDATE(dynamic value) → dynamic
fnCeil(dynamic value) → dynamic
fnCELL(dynamic v1, dynamic v2) → dynamic
fnCHR(dynamic value) → dynamic
fnColorToHex(dynamic value) → dynamic
fnCompareStr(dynamic v1, dynamic v2) → dynamic
fnCompareText(dynamic v1, dynamic v2) → dynamic
fnCOPY(dynamic v1, dynamic v2, dynamic v3) → dynamic
fnCos(dynamic value) → dynamic
fnCOUNT(List values) → dynamic
fnCPU() → dynamic
fnDATE() → dynamic
fnDateTimeToStr(dynamic value) → dynamic
fnDateToStr(dynamic value) → dynamic
fnDAY(dynamic value) → dynamic
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
fnExp(dynamic value) → dynamic
fnExtractFileDir(dynamic value) → dynamic
fnExtractFileDrive(dynamic value) → dynamic
fnExtractFileExt(dynamic value) → dynamic
fnExtractFileName(dynamic value) → dynamic
fnExtractFileNameNoExt(dynamic value) → dynamic
fnExtractFilePath(dynamic value) → dynamic
fnFALSE() → dynamic
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(dynamic value) → dynamic
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
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
fnLoPartialKey() → dynamic
fnLow(dynamic value) → dynamic
fnLOWER(dynamic value) → dynamic
fnLTRIM(dynamic value) → dynamic
fnMax(dynamic v1, dynamic v2) → dynamic
fnMD5(dynamic value) → dynamic
fnMID(dynamic v1, dynamic v2, dynamic v3) → dynamic
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
fnNOW() → dynamic
fnNULL() → dynamic
fnOdd(dynamic value) → dynamic
fnORD(dynamic value) → dynamic
fnPi() → dynamic
fnPOS(dynamic v1, dynamic v2) → dynamic
fnPower(dynamic v1, dynamic v2) → dynamic
fnRandom(dynamic value) → dynamic
fnRandomRange(dynamic v1, dynamic v2) → dynamic
fnREPLACE(dynamic v1, dynamic v2, dynamic v3) → dynamic
fnReplaceAt(dynamic v1, dynamic v2, dynamic v3) → dynamic
fnRound(dynamic v) → dynamic
fnRoundTo(dynamic v1, dynamic v2) → dynamic
fnRTRIM(dynamic value) → dynamic
fnSECOND(dynamic value) → dynamic
fnSin(dynamic value) → dynamic
fnSqr(dynamic value) → dynamic
fnSqrt(dynamic value) → dynamic
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
fnTan(dynamic value) → dynamic
fnTDATE() → dynamic
fnTIME() → dynamic
fnTimeToStr(dynamic value) → dynamic
fnTODAY() → dynamic
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
fnVarIsNull(dynamic value) → dynamic
fnVarToStr(dynamic value) → dynamic
fnVarType(dynamic value) → dynamic
fnWEEK(dynamic value) → dynamic
fnYEAR(dynamic value) → dynamic
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
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
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
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 (32-bit)
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, pad): mask formatting (# is the digit placeholder)
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
tt_UNMASK(str, mask): removes the mask, keeping only characters at # positions
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)