zasady . MapaDiff
Typ MapDiff.
Typ MapDiff reprezentuje wynik porównania dwóch obiektów rule.Map .
Nie ma literału MapDiff do wykorzystania przy tworzeniu różnic. Obiekty MapDiff zwracane są przez wywołania funkcji Rules.Map#diff .
Opisane poniżej funkcje MapDiff są wywoływane poprzez połączenie z regułami.Map#diff . Wszystkie funkcje MapDiff zwracają reguły. Ustaw listę kluczy obiektów porównywanych pomiędzy obiektami Map.
// 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"]);
Metody
dodane klucze
addKeys() zwraca reguły.Set
Zwraca regułę.Set , która zawiera listę kluczy, które zawiera funkcja Map wywołująca diff()
, a których nie zawiera mapa przekazana do diff()
.
Przykład
{"a":1}.diff({}).addedKeys() == ["a"].toSet()
dotknięteKlucze
AffectKeys() zwraca reguły.Set
Zwraca regułę.Set , która zawiera listę wszystkich kluczy, które zostały dodane, usunięte lub zmodyfikowane w Mapie wywołującej diff()
w porównaniu z Mapą przekazaną do diff()
. Ta funkcja zwraca zestaw równoważny połączonym wynikom MapDiff.addedKeys()
, MapDiff.removedKeys()
i MapDiff.changedKeys()
.
({"a":0, "c":0, "u":0}).diff({"r":0, "c":1, "u": 0}).affectedKeys() == ["a", "r", "c"].toSet()
- Zwroty
non-null rules.Set
, lista kluczy dodanych, usuniętych lub zmienionych w regułach.Mapa przekazywana do funkcjiMap.diff()
.
zmienioneKlucze
zmienionaKeys() zwraca reguły.Zestaw
Zwraca regułę.Set , która zawiera listę wszystkich kluczy, które pojawiają się zarówno w Mapie wywołującej diff()
jak i Map przekazanej do diff()
, ale których wartości nie są równe.
- Zwroty
non-null rules.Set
, lista kluczy występujących w obu regułach.Map s, ale których wartości nie są równe.
Przykład
{"a":0}.diff({"a":1, "b":4}).changedKeys() == ["a"].toSet()
usunięteKlucze
usunięteKeys() zwraca reguły.Zestaw
Zwraca regułę.Set , która zawiera listę wszystkich kluczy, których nie zawiera funkcja Map wywołująca diff()
w porównaniu z kluczem Map przekazanym do diff()
.
Przykład
{}.diff({"a":1}).removedKeys() == ["a"].toSet()
niezmienioneKlucze
niezmienionaKeys() zwraca reguły.Zestaw
Zwraca regułę.Set , która zawiera listę wszystkich kluczy, które pojawiają się zarówno w Mapie wywołującej diff()
jak i Map przekazanej do diff()
i których wartości są równe.
- Zwroty
non-null rules.Set
, lista kluczy występujących w obu regułach.Map s, ale których wartości są równe.
Przykład
{"a": 0}.diff({"a":0}).unchangedKeys() == ["a"].toSet()