Check out v4 of the Fauna CLI

v4 of the Fauna CLI is now in beta.

The new version introduces enhancements to the developer experience, including an improved authentication workflow. To get started, check out the CLI v4 quick start.

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
    }
  ]
}

Is this article helpful? 

Tell Fauna how the article can be improved:
Visit Fauna's forums or email docs@fauna.com

Thank you for your feedback!