rules. MapDiff
نوع MapDiff.
يمثل نوع MapDiff نتيجة مقارنة اثنين rules.Map.
لا يوجد قيمة حرفية في MapDiff للاستخدام في إنشاء الاختلافات. كائنات MapDiff تُرجعها عمليات الاستدعاء إلى الدالة rules.Map#diff.
تسمى دوال MapDiff الموضحة أدناه بالتسلسل مع rules.Map#diff. تعرض جميع دوال MapDiff الدالة rules.Set التي تسرد المفاتيح بين كائنات الخرائط.
// Compare two Map objects and return whether the key "a" has been // affected; that is, key "a" was added or removed, or its value was updated. request.resource.data.diff(resource.data).affectedKeys().hasOnly(["a"]);
الطُرق
المفاتيح المُضافة
تُرجع addKeys() rules.Set
عرض rules.Set، الذي يسرد أي مفاتيح تستدعيها الخريطة
يحتوي diff()
على أن الخريطة التي تم تمريرها إلى diff()
لا.
- المرتجعات
-
non-null rules.Set
، وهي قائمة بالمفاتيح المُضافة إلى القواعد.خريطة التي تم تمريرها إلى الدالةMap.diff()
.
مثال
{"a":1}.diff({}).addedKeys() == ["a"].toSet()
المفاتيح المتأثرة
متأثرةKeys() تعرض rules.Set
تعرض القاعدة rules.Set التي تعرض أي مفاتيح تمت إضافتها إليها.
تمت إزالته من اتصال الخريطة بـ diff()
أو تعديله مقارنةً بـ
تم تمرير الخريطة إلى diff()
. تُرجع هذه الدالة المجموعة
أي ما يعادل النتائج المجمّعة لـ MapDiff.addedKeys()
،
MapDiff.removedKeys()
وMapDiff.changedKeys()
({"a":0, "c":0, "u":0}).diff({"r":0, "c":1, "u": 0}).affectedKeys() == ["a", "r", "c"].toSet()
- المرتجعات
-
non-null rules.Set
، قائمة بالمفاتيح التي تمت إضافتها أو إزالتها منها أو تغييرها منها تم تمرير rules.Map إلى الدالةMap.diff()
.
تم تغيير المفاتيح
تعرض القيمة changeKeys() rules.Set
عرض rules.Set، الذي يسرد أي مفاتيح تظهر في كل من الخريطة
جارٍ الاتصال بـ diff()
وتمرير الخريطة إلى diff()
، لكن
التي تكون قيمها غير متساوية.
- المرتجعات
-
non-null rules.Set
، وهي قائمة بالمفاتيح التي تظهر في كلتا الميزتَين rules.Map ولكن قيمها ليست متساوية.
مثال
{"a":0}.diff({"a":1, "b":4}).changedKeys() == ["a"].toSet()
تمت إزالة المفاتيح
تُرجع removeKeys() الأمر rules.Set
عرض rules.Set، الذي يسرد أي مفاتيح تستدعيها الخريطة
diff()
لا يحتوي على مقارنة بالخريطة التي تم تمريرها إلى
diff()
- المرتجعات
-
non-null rules.Set
، وهي قائمة بالمفاتيح التي تمت إزالتها من rules.Map تم تمريره إلى الدالةMap.diff()
.
مثال
{}.diff({"a":1}).removedKeys() == ["a"].toSet()
المفاتيح التي لم يتم تغييرها
تُعرَض الدالة noneKeys() بالقاعدة rules.Set.
عرض rules.Set، الذي يسرد أي مفاتيح تظهر في كل من الخريطة
الاتصال بـ diff()
وتم تمرير الخريطة إلى diff()
،
التي تتساوى قيمها.
- المرتجعات
-
non-null rules.Set
، وهي قائمة بالمفاتيح التي تظهر في كلتا الميزتَين rules.Map ولكن القيم التي تتساوى.
مثال
{"a": 0}.diff({"a":0}).unchangedKeys() == ["a"].toSet()