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

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

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

EXISTS

البنية:

exists(value: ANY) -> BOOLEAN

الوصف:

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

أمثلة:

value exists(value)
0L 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();

IS_ABSENT

البنية:

is_absent(value: ANY) -> BOOLEAN

الوصف:

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

أمثلة:

value is_absent(value)
0L 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)
5L 0L 5L
NULL 0L NULL
ABSENT 0L 0L

IS_ERROR

البنية:

is_error(try: ANY) -> BOOLEAN

الوصف:

تعرِض TRUE إذا تم عرض خطأ أثناء تقييم try. تعرِض FALSE بخلاف ذلك.

IF_ERROR

البنية:

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

الوصف:

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

ERROR

البنية:

error(message: STRING) -> ANY

الوصف:

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

أمثلة:

cond res switch_on(cond, res, error("no condition matched"))
TRUE 1L 1L
FALSE 1L ERROR ("no condition matched")