قوانین . MapDiff
نوع MapDiff.
نوع MapDiff نتیجه مقایسه دو قانون را نشان می دهد. اشیاء نقشه.
هیچ MapDiff تحت اللفظی برای استفاده در ایجاد تفاوت وجود ندارد. اشیاء MapDiff با فراخوانی به قوانین باز می گردند. تابع Map#diff .
توابع MapDiff که در زیر توضیح داده شده است با زنجیرهبندی با قوانین فراخوانی میشوند. Map#diff . همه توابع MapDiff قوانین را برمی گرداند. کلیدهای فهرست اشیاء را در مقایسه بین اشیاء نقشه تنظیم کنید.
// 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() قوانین را برمی گرداند.Set
یک rules.Set را برمیگرداند، که کلیدهایی را فهرست میکند که Map فراخوانی diff()
حاوی آنهاست که Map ارسال شده به diff()
فاقد آن است.
- برمی گرداند
non-null rules.Set
، فهرستی از کلیدهای اضافه شده به قوانین. Map به تابعMap.diff()
منتقل می شود.
مثال
{"a":1}.diff({}).addedKeys() == ["a"].toSet()
تأثیر کلیدها
()fectedKeys قوانین را برمی گرداند.Set
یک rules.Set را برمیگرداند، که هر کلیدی را که در Map فراخوانی diff()
اضافه، حذف یا تغییر داده شده است را در مقایسه با Map ارسال شده به 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
، فهرستی از کلیدهای اضافه شده، حذف شده یا تغییر یافته از قوانین. Map به تابعMap.diff()
منتقل می شود.
تغییر کلیدها
() changeKeys قوانین را برمی گرداند.Set
یک rules.Set را برمیگرداند، که کلیدهایی را فهرست میکند که هم در Map با فراخوانی diff()
و هم در Map ارسال شده به diff()
ظاهر میشوند، اما مقادیر آنها برابر نیستند.
- برمی گرداند
non-null rules.Set
، فهرستی از کلیدهایی که در هر دو قانون ظاهر می شوند . Map s اما مقادیر آنها برابر نیستند.
مثال
{"a":0}.diff({"a":1, "b":4}).changedKeys() == ["a"].toSet()
کلیدهای حذف شده
removeKeys() rules.Set را برمی گرداند
یک rules.Set را برمیگرداند، که کلیدهایی را فهرست میکند که Map فراخوانی diff()
شامل نقشه ارسال شده به diff()
نیست.
- برمی گرداند
non-null rules.Set
، فهرستی از کلیدهای حذف شده از قوانین. Map به تابعMap.diff()
منتقل می شود.
مثال
{}.diff({"a":1}).removedKeys() == ["a"].toSet()
کلیدهای بدون تغییر
unchangedKeys() rules.Set را برمی گرداند
یک rules.Set را برمیگرداند، که هر کلیدی را فهرست میکند که هم در Map با فراخوانی diff()
و هم Map ارسال شده به diff()
و مقادیر آنها برابر هستند.
- برمی گرداند
non-null rules.Set
، فهرستی از کلیدهایی که در هر دو قانون ظاهر می شوند. Map s اما مقادیر آنها برابر است.
مثال
{"a": 0}.diff({"a":0}).unchangedKeys() == ["a"].toSet()