aturan. MapDiff
Jenis MapDiff.
Tipe MapDiff mewakili hasil perbandingan dua rules.Map.
Tidak ada literal MapDiff untuk digunakan dalam membuat diff. Objek MapDiff ditampilkan oleh panggilan ke fungsi rules.Map#diff.
Fungsi MapDiff yang dijelaskan di bawah ini disebut dengan merantai dengan rules.Map#diff. Semua fungsi MapDiff menampilkan rules.Set objek yang mencantumkan kunci dibandingkan antara objek Peta.
// 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"]);
Metode
addKey
addedKeys() menampilkan rules.Set
Menampilkan rules.Set, yang mencantumkan semua kunci yang dipanggil Peta
diff()
berisi bahwa Peta yang diteruskan ke diff()
tidak.
- Hasil
-
non-null rules.Set
, daftar kunci yang ditambahkan ke rules.Map yang diteruskan ke fungsiMap.diff()
.
Contoh
{"a":1}.diff({}).addedKeys() == ["a"].toSet()
terpengaruhKey
terpengaruhKeys() menampilkan rules.Set
Menampilkan rules.Set, yang mencantumkan semua kunci yang telah ditambahkan,
dihapus dari atau diubah dari Peta yang memanggil diff()
dibandingkan dengan
Peta diteruskan ke diff()
. Fungsi ini mengembalikan {i>dataset<i}
setara dengan hasil gabungan MapDiff.addedKeys()
,
MapDiff.removedKeys()
dan MapDiff.changedKeys()
.
({"a":0, "c":0, "u":0}).diff({"r":0, "c":1, "u": 0}).affectedKeys() == ["a", "r", "c"].toSet()
- Hasil
-
non-null rules.Set
, daftar kunci yang ditambahkan ke, dihapus dari, atau diubah dari rules.Map yang diteruskan ke fungsiMap.diff()
.
changeKeys
changedKeys() menampilkan rules.Set
Menampilkan rules.Set, yang mencantumkan semua kunci yang muncul di kedua Peta
memanggil diff()
dan Peta diteruskan ke diff()
, tetapi
yang nilainya tidak sama.
Contoh
{"a":0}.diff({"a":1, "b":4}).changedKeys() == ["a"].toSet()
removedKeys
removedKeys() menampilkan rules.Set
Menampilkan rules.Set, yang mencantumkan semua kunci yang dipanggil Peta
diff()
tidak berisi dibandingkan dengan Peta yang diteruskan ke
diff()
.
- Hasil
-
non-null rules.Set
, daftar kunci yang dihapus dari rules.Map diteruskan ke fungsiMap.diff()
.
Contoh
{}.diff({"a":1}).removedKeys() == ["a"].toSet()
kunci tidak berubah
ChangesKeys() menampilkan rules.Set
Menampilkan rules.Set, yang mencantumkan semua kunci yang muncul di kedua Peta
memanggil diff()
dan Peta diteruskan ke diff()
, dan
yang nilainya sama.
Contoh
{"a": 0}.diff({"a":0}).unchangedKeys() == ["a"].toSet()