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.firstWhere()
Learn: User-defined functions (UDFs) |
---|
Get the first user-defined function (UDF) matching a provided predicate.
Description
Gets the first user-defined
function (UDF), represented as a
Function
document,
that matches 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).
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 |
Yes |
Anonymous predicate function that:
The method returns the first |
Return value
One of:
Type | Description |
---|---|
First |
|
No |
Examples
Get the first UDF when at least one matching UDF document exists and is accessible:
Function.firstWhere(.name.includes('validate'))
{
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!