Function.where()

Learn: User-defined functions (UDFs)

Get a Set of user-defined functions (UDFs) that match a provided predicate.

Signature

Function.where(pred: (FunctionDef => Boolean)) => Set<FunctionDef>

Description

Gets a Set of UDFs, represented as Function documents, that match a provided predicate function.

Function documents are FQL versions of a database’s FSL function schema. Function documents have the FunctionDef type. See User-defined functions (UDFs).

If Function.where() is the last expression in a query, the first page of the Set is returned. See Pagination.

Staged schema

If a database has staged schema, this method interacts with the database’s staged schema, not the active schema.

Parameters

Parameter Type Required Description

pred

Predicate function

Yes

Anonymous predicate function that:

The method returns a Set of Function documents for which the predicate returns true.

Return value

Type Description

Set<FunctionDef>

Set of Function documents that match the predicate. If there are no matching documents, the Set is empty.

Examples

Function.where(.name.includes('validate'))
{
  data: [
    {
      name: "validateOrderStatusTransition",
      coll: Function,
      ts: Time("2099-10-25T17:49:28.145Z"),
      body: <<-END
        (oldStatus, newStatus) => {
          if (oldStatus == "cart" && newStatus != "processing") {
            abort("Invalid status transition.")
          } else if (oldStatus == "processing" && newStatus != "shipped") {
            abort("Invalid status transition.")
          } else if (oldStatus == "shipped" && newStatus != "delivered") {
            abort("Invalid status transition.")
          }
        }
      END
    }
  ]
}
\