Function

public final class Function

Function factory.

Aggregation

  • Create an AVG(expr) function expression that returns the average of all the number values in the group of the values expressed by the given expression.

    Declaration

    Swift

    public static func avg(_ expression: ExpressionProtocol) -> ExpressionProtocol

    Parameters

    expression

    The expression.

    Return Value

    The AVG(expr) function.

  • Create a COUNT(expr) function expression that returns the count of all values in the group of the values expressed by the given expression.

    Declaration

    Swift

    public static func count(_ expression: ExpressionProtocol? = nil) -> ExpressionProtocol

    Parameters

    expression

    The expression.

    Return Value

    The COUNT(expr) function.

  • Create a MIN(expr) function expression that returns the minimum value in the group of the values expressed by the given expression.

    Declaration

    Swift

    public static func min(_ expression: ExpressionProtocol) -> ExpressionProtocol

    Parameters

    expression

    The expression.

    Return Value

    The MIN(expr) function.

  • Create a MAX(expr) function expression that returns the maximum value in the group of the values expressed by the given expression.

    Declaration

    Swift

    public static func max(_ expression: ExpressionProtocol) -> ExpressionProtocol

    Parameters

    expression

    The expression.

    Return Value

    The MAX(expr) function.

  • Create a SUM(expr) function expression that return the sum of all number values in the group of the values expressed by the given expression.

    Declaration

    Swift

    public static func sum(_ expression: ExpressionProtocol) -> ExpressionProtocol

    Parameters

    expression

    The expression.

    Return Value

    The SUM(expr) function.

Mathematics

  • Creates an ABS(expr) function that returns the absolute value of the given numeric expression.

    Declaration

    Swift

    public static func abs(_ expression: ExpressionProtocol) -> ExpressionProtocol

    Parameters

    expression

    The numeric expression.

    Return Value

    The ABS(expr) function.

  • Creates an ACOS(expr) function that returns the inverse cosine of the given numeric expression.

    Declaration

    Swift

    public static func acos(_ expression: ExpressionProtocol) -> ExpressionProtocol

    Parameters

    expression

    The numeric expression.

    Return Value

    The ACOS(expr) function.

  • Creates an ASIN(expr) function that returns the inverse sin of the given numeric expression.

    Declaration

    Swift

    public static func asin(_ expression: ExpressionProtocol) -> ExpressionProtocol

    Parameters

    expression

    The numeric expression.

    Return Value

    The ASIN(expr) function.

  • Creates an ATAN(expr) function that returns the inverse tangent of the numeric expression.

    Declaration

    Swift

    public static func atan(_ expression: ExpressionProtocol) -> ExpressionProtocol

    Parameters

    expression

    The numeric expression.

    Return Value

    The ATAN(expr) function.

  • Creates an ATAN2(Y, X) function that returns the arctangent of y/x.

    Declaration

    Swift

    public static func atan2(y: ExpressionProtocol, x: ExpressionProtocol) -> ExpressionProtocol

    Parameters

    y

    The expression to evaluate as the Y coordinate.

    x

    The expression to evaluate as the X coordinate.

    Return Value

    The ATAN2(Y, X) function.

  • Creates a CEIL(expr) function that returns the ceiling value of the given numeric expression

    Declaration

    Swift

    public static func ceil(_ expression: ExpressionProtocol) -> ExpressionProtocol

    Parameters

    expression

    The numeric expression.

    Return Value

    The CEIL(expr) function.

  • Creates a COS(expr) function that returns the cosine of the given numeric expression.

    Declaration

    Swift

    public static func cos(_ expression: ExpressionProtocol) -> ExpressionProtocol

    Parameters

    expression

    The numeric expression.

    Return Value

    The COS(expr) function.

  • Creates a DEGREES(expr) function that returns the degrees value of the given radiants value expression.

    Declaration

    Swift

    public static func degrees(_ expression: ExpressionProtocol) -> ExpressionProtocol

    Parameters

    expression

    The numeric expression to evaluate as a radiants value.

    Return Value

    The DEGREES(expr) function.

  • e()

    Creates a E() function that return the value of the mathemetical constant ‘e’.

    Declaration

    Swift

    public static func e() -> ExpressionProtocol

    Return Value

    The E() constant function.

  • Creates a EXP(expr) function that returns the value of ‘e’ power by the given numeric expression.

    Declaration

    Swift

    public static func exp(_ expression: ExpressionProtocol) -> ExpressionProtocol

    Parameters

    expression

    The numeric expression.

    Return Value

    The EXP(expr) function.

  • Creates a FLOOR(expr) function that returns the floor value of the given numeric expression.

    Declaration

    Swift

    public static func floor(_ expression: ExpressionProtocol) -> ExpressionProtocol

    Parameters

    expression

    The numeric expression.

    Return Value

    The FLOOR(expr) function.

  • Creates a LN(expr) function that returns the natural log of the given numeric expression.

    Declaration

    Swift

    public static func ln(_ expression: ExpressionProtocol) -> ExpressionProtocol

    Parameters

    expression

    The numeric expression.

    Return Value

    The LN(expr) function.

  • Creates a LOG(expr) function that returns the base 10 log of the given numeric expression.

    Declaration

    Swift

    public static func log(_ expression: ExpressionProtocol) -> ExpressionProtocol

    Parameters

    expression

    The numeric expression.

    Return Value

    The LOG(expr) function.

  • Creates a PI() function that returns the mathemetical constant Pi.

    Declaration

    Swift

    public static func pi() -> ExpressionProtocol

    Return Value

    The PI() constant function.

  • Creates a POWER(base, exponent) function that returns the value of the given base expression power the given exponent expression.

    Declaration

    Swift

    public static func power(base: ExpressionProtocol, exponent: ExpressionProtocol) -> ExpressionProtocol

    Parameters

    base

    The base expression.

    exponent

    The exponent expression.

    Return Value

    The POWER(base, exponent) function.

  • Creates a RADIANS(expr) function that returns the radians value of the given degrees value expression.

    Declaration

    Swift

    public static func radians(_ expression: ExpressionProtocol) -> ExpressionProtocol

    Parameters

    expression

    The numeric expression to evaluate as a degrees value.

    Return Value

    The RADIANS(expr) function.

  • Creates a ROUND(expr) function that returns the rounded value of the given numeric expression.

    Declaration

    Swift

    public static func round(_ expression: ExpressionProtocol) -> ExpressionProtocol

    Parameters

    expression

    The numeric expression.

    Return Value

    The ROUND(expr) function.

  • Creates a ROUND(expr, digits) function that returns the rounded value to the given number of digits of the given numeric expression.

    Declaration

    Swift

    public static func round(_ expression: ExpressionProtocol, digits: ExpressionProtocol) -> ExpressionProtocol

    Parameters

    expression

    The numeric expression.

    digits

    The number of digits.

    Return Value

    The ROUND(expr, digits) function.

  • Creates a SIGN(expr) function that returns the sign (1: positive, -1: negative, 0: zero) of the given numeric expression.

    Declaration

    Swift

    public static func sign(_ expression: ExpressionProtocol) -> ExpressionProtocol

    Parameters

    expression

    The numeric expression.

    Return Value

    The SIGN(expr) function.

  • Creates a SIN(expr) function that returns the sin of the given numeric expression.

    Declaration

    Swift

    public static func sin(_ expression: ExpressionProtocol) -> ExpressionProtocol

    Parameters

    expression

    The numeric expression.

    Return Value

    The SIN(expr) function.

  • Creates a SQRT(expr) function that returns the square root of the given numeric expression.

    Declaration

    Swift

    public static func sqrt(_ expression: ExpressionProtocol) -> ExpressionProtocol

    Parameters

    expression

    The numeric expression.

    Return Value

    The SQRT(expr) function.

  • Creates a TAN(expr) function that returns the tangent of the given numeric expression.

    Declaration

    Swift

    public static func tan(_ expression: ExpressionProtocol) -> ExpressionProtocol

    Parameters

    expression

    The numeric expression.

    Return Value

    The TAN(expr) function.

  • Creates a TRUNC(expr) function that truncates all of the digits after the decimal place of the given numeric expression.

    Declaration

    Swift

    public static func trunc(_ expression: ExpressionProtocol) -> ExpressionProtocol

    Parameters

    expression

    The numeric expression.

    Return Value

    The trunc function.

  • Creates a TRUNC(expr, digits) function that truncates the number of the digits after the decimal place of the given numeric expression.

    Declaration

    Swift

    public static func trunc(_ expression: ExpressionProtocol, digits: ExpressionProtocol) -> ExpressionProtocol

    Parameters

    expression

    The numeric expression.

    digits

    The number of digits to truncate.

    Return Value

    The TRUNC(expr, digits) function.

  • Creates a CONTAINS(expr, substr) function that evaluates whether the given string expression conatins the given substring expression or not.

    Declaration

    Swift

    public static func contains(_ expression: ExpressionProtocol, substring: ExpressionProtocol) -> ExpressionProtocol

    Parameters

    expression

    The string expression.

    substring

    The substring expression.

    Return Value

    The CONTAINS(expr, substr) function.

  • Creates a LENGTH(expr) function that returns the length of the given string expression.

    Declaration

    Swift

    public static func length(_ expression: ExpressionProtocol) -> ExpressionProtocol

    Parameters

    expression

    The string expression.

    Return Value

    The LENGTH(expr) function.

  • Creates a LOWER(expr) function that returns the lowercase string of the given string expression.

    Declaration

    Swift

    public static func lower(_ expression: ExpressionProtocol) -> ExpressionProtocol

    Parameters

    expression

    The string expression.

    Return Value

    The LOWER(expr) function.

  • Creates a LTRIM(expr) function that removes the whitespace from the beginning of the given string expression.

    Declaration

    Swift

    public static func ltrim(_ expression: ExpressionProtocol) -> ExpressionProtocol

    Parameters

    expression

    The string expression.

    Return Value

    The LTRIM(expr) function.

  • Creates a RTRIM(expr) function that removes the whitespace from the end of the given string expression.

    Declaration

    Swift

    public static func rtrim(_ expression: ExpressionProtocol) -> ExpressionProtocol

    Parameters

    expression

    The string expression.

    Return Value

    The RTRIM(expr) function.

  • Creates a TRIM(expr) function that removes the whitespace from the beginning and ‘ the end of the given string expression.

    Declaration

    Swift

    public static func trim(_ expression: ExpressionProtocol) -> ExpressionProtocol

    Parameters

    expression

    The string expression.

    Return Value

    The TRIM(expr) function.

  • Creates a UPPER(expr) function that returns the uppercase string of the given string expression.

    Declaration

    Swift

    public static func upper(_ expression: ExpressionProtocol) -> ExpressionProtocol

    Parameters

    expression

    The string expression.

    Return Value

    The UPPER(expr) function.

  • Creates a STR_TO_MILLIS(expr) function that returns the number of milliseconds since the unix epoch of the given ISO 8601 date string expression.

    Note

    Valid date strings must start with a date in the form YYYY-MM-DD (time only strings are not supported).

    Times can be of the form HH:MM, HH:MM:SS, or HH:MM:SS.FFF. Leading zero is not optional (i.e. 02 is ok, 2 is not). Hours are in 24-hour format. FFF represents milliseconds, and trailing zeros are optional (i.e. 5 == 500).

    Time zones can be in one of three forms: (+/-)HH:MM (+/-)HHMM Z (which represents UTC)

    No time zone present will default to the device local time zone.

    Declaration

    Swift

    public static func stringToMillis(_ expression: ExpressionProtocol) -> ExpressionProtocol

    Parameters

    expression

    The validly formatted ISO 8601 date time string expression.

    Return Value

    The STR_TO_MILLIS(expr) function.

  • Creates a STR_TO_UTC(expr) function that returns the ISO 8601 UTC datetime string of the given ISO 8601 date string expression.

    Note

    Valid date strings must start with a date in the form YYYY-MM-DD (time only strings are not supported).

    Times can be of the form HH:MM, HH:MM:SS, or HH:MM:SS.FFF. Leading zero is not optional (i.e. 02 is ok, 2 is not). Hours are in 24-hour format. FFF represents milliseconds, and trailing zeros are optional (i.e. 5 == 500).

    Time zones can be in one of three forms: (+/-)HH:MM (+/-)HHMM Z (which represents UTC)

    No time zone present will default to the device local time zone.

    Declaration

    Swift

    public static func stringToUTC(_ expression: ExpressionProtocol) -> ExpressionProtocol

    Parameters

    expression

    The validly formatted ISO 8601 date time string expression.

    Return Value

    The STR_TO_UTC(expr) function.

  • Creates a MILLIS_TO_STR(expr) function that returns a ISO 8601 date time string in device local timezone of the given number of milliseconds since the unix epoch expression.

    Note

    If the input expression is not numeric, then the result will be null.

    Declaration

    Swift

    public static func millisToString(_ expression: ExpressionProtocol) -> ExpressionProtocol

    Parameters

    expression

    The numeric value representing milliseconds since the unix epoch.

    Return Value

    The MILLIS_TO_STR(expr) function.

  • Creates a MILLIS_TO_UTC(expr) function that returns the UTC ISO 8601 date time string of the given number of milliseconds since the unix epoch expression.

    Note

    If the input expression is not numeric, then the result will be null.

    Declaration

    Swift

    public static func millisToUTC(_ expression: ExpressionProtocol) -> ExpressionProtocol

    Parameters

    expression

    The numeric value representing milliseconds since the unix epoch.

    Return Value

    The MILLIS_TO_UTC(expr) function.

Prediction

  • ENTERPRISE EDITION ONLY

    Creates prediction function with the given model name and input. When running a query with the prediction function, the corresponding predictive model registered to CouchbaseLite Database class will be called with the given input to predict the result.

    The prediction result returned by the predictive model will be in a form dictionary object. To create an expression that refers to a property in the prediction result, the property(_ keypath: String) method of the created PredictionFunction object can be used.

    Declaration

    Swift

    public static func prediction(model: String,
                                  input: ExpressionProtocol) -> PredictionFunction

    Parameters

    model

    The predictive model name registered to the CouchbaseLite Database.

    input

    The expression evaluated to a dictionary.

    Return Value

    A PredictionFunction object.

Vector Comparison

  • ENTERPRISE EDITION ONLY

    Creates a function that returns the euclidean distance between the two input vectors. The result is a non-negative floating-point number. The expression1 and expression2 must be arrays of numbers, and must be the same length.

    Declaration

    Swift

    public static func euclideanDistance(between expression1: ExpressionProtocol,
                                             and expression2: ExpressionProtocol) -> ExpressionProtocol

    Parameters

    expression1

    The expression evaluated to an arrays of numbers.

    expression2

    The expression evaluated to an arrays of numbers.

    Return Value

    The euclidean distance between two given input vectors.

  • ENTERPRISE EDITION ONLY

    Creates a function that returns the squared euclidean distance between the two input vectors. The result is a non-negative floating-point number. The expression1 and expression2 must be arrays of numbers, and must be the same length.

    Declaration

    Swift

    public static func squaredEuclideanDistance(between expression1: ExpressionProtocol,
                                                    and expression2: ExpressionProtocol) -> ExpressionProtocol

    Parameters

    expression1

    The expression evaluated to an arrays of numbers.

    expression2

    The expression evaluated to an arrays of numbers.

    Return Value

    The squared euclidean distance between two given input vectors.

  • ENTERPRISE EDITION ONLY

    Creates a function that returns the cosine distance which one minus the cosine similarity between the two input vectors. The result is a floating-point number ranges from −1.0 to 1.0. The expression1 and expression2 must be arrays of numbers, and must be the same length.

    Declaration

    Swift

    public static func cosineDistance(between expression1: ExpressionProtocol,
                                          and expression2: ExpressionProtocol) -> ExpressionProtocol

    Parameters

    expression1

    The expression evaluated to an arrays of numbers.

    expression2

    The expression evaluated to an arrays of numbers.

    Return Value

    The cosine distance between two given input vectors.