دوال تصحيح الأخطاء

دوال تصحيح الأخطاء

الاسم الوصف
EXISTS تعرض هذه الدالة TRUE إذا لم تكن القيمة غير متوفّرة
IS_ABSENT تعرض الدالة TRUE إذا كانت القيمة غير متوفّرة
IF_ABSENT تستبدل القيمة بتعبير إذا كانت غير متوفّرة
IS_ERROR يرصد الأخطاء ويتحقّق مما إذا كان التعبير الأساسي قد تسبّب في حدوث خطأ
IF_ERROR تستبدل القيمة بتعبير إذا عرضت خطأً
ERROR لإنهاء التقييم وعرض خطأ مع الرسالة المحدّدة

EXISTS

البنية:

exists(value: ANY) -> BOOLEAN

الوصف:

تعرض هذه الدالة TRUE إذا لم تكن قيمة value غير متوفّرة.

أمثلة:

value exists(value)
0 لتر TRUE
"foo" TRUE
NULL TRUE
ABSENT FALSE
Node.js
const result = await db.pipeline()
  .collection("books")
  .select(field("rating").exists().as("hasRating"))
  .execute();

Web

مثال:

const result = await execute(db.pipeline()
  .collection("books")
  .select(field("rating").exists().as("hasRating"))
);
Swift
let result = try await db.pipeline()
  .collection("books")
  .select([Field("rating").exists().as("hasRating")])
  .execute()

Kotlin

مثال:

val result = db.pipeline()
    .collection("books")
    .select(field("rating").exists().alias("hasRating"))
    .execute()

Java

مثال:

Task<Pipeline.Snapshot> result = db.pipeline()
    .collection("books")
    .select(field("rating").exists().alias("hasRating"))
    .execute();
Python
from google.cloud.firestore_v1.pipeline_expressions import Field

result = (
    client.pipeline()
    .collection("books")
    .select(Field.of("rating").exists().as_("hasRating"))
    .execute()
)
Java
Pipeline.Snapshot result =
    firestore
        .pipeline()
        .collection("books")
        .select(exists(field("rating")).as("hasRating"))
        .execute()
        .get();
متابعة
snapshot := client.Pipeline().
	Collection("books").
	Select(firestore.Fields(
		firestore.FieldExists(firestore.FieldOf("rating")).As("hasRating"),
	)).
	Execute(ctx)

IS_ABSENT

البنية:

is_absent(value: ANY) -> BOOLEAN

الوصف:

تعرض هذه الدالة TRUE إذا كانت value هي القيمة غير المتوفّرة، وFALSE في الحالات الأخرى. القيم غير المتوفّرة هي القيم التي لا تظهر في الإدخال، مثل حقل مستند غير متوفّر.

أمثلة:

value is_absent(value)
0 لتر FALSE
"foo" FALSE
NULL FALSE
ABSENT TRUE

IF_ABSENT

البنية:

if_absent(value: ANY, replacement: ANY) -> ANY

الوصف:

إذا كانت السمة value قيمة غير متوفّرة، يتم تقييم السمة replacement وعرضها. بخلاف ذلك، يتم عرض value.

أمثلة:

value replacement if_absent(value, replacement)
‫5 لتر 0 لتر ‫5 لتر
NULL 0 لتر NULL
ABSENT 0 لتر 0 لتر

IS_ERROR

البنية:

is_error(try: ANY) -> BOOLEAN

الوصف:

تعرض هذه الدالة TRUE إذا حدث خطأ أثناء تقييم try. وتعرض FALSE في الحالات الأخرى.

IF_ERROR

البنية:

if_error(try: ANY, catch: ANY) -> ANY

الوصف:

إذا حدث خطأ أثناء تقييم try، يتم تقييم replacement وعرضه. بخلاف ذلك، يتم عرض القيمة التي تم حلّها لـ try.

خطأ

البنية:

error(message: STRING) -> ANY

الوصف:

يؤدي تقييم الدالة error إلى تقييم المسار وإنهائه مع ظهور خطأ. يتم تضمين message المحدّد في الخطأ.

أمثلة:

cond res switch_on(cond, res, error("no condition matched"))
TRUE 1 لتر 1 لتر
FALSE 1 لتر ERROR ("no condition matched")