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)