Regeln . MapDiff
MapDiff-Typ.
Der MapDiff-Typ stellt das Ergebnis des Vergleichs zweier Rules.Map- Objekte dar.
Es gibt kein MapDiff-Literal zum Erstellen von Diffs. MapDiff-Objekte werden durch Aufrufe der Funktion „rules.Map#diff“ zurückgegeben.
Die nachfolgend beschriebenen MapDiff-Funktionen werden durch Verkettung mit Rules.Map#diff aufgerufen. Alle MapDiff-Funktionen geben Regeln zurück. Legen Sie Objekte fest, die Schlüssel auflisten, die zwischen Kartenobjekten verglichen werden.
// 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"]);
Methoden
hinzugefügte Schlüssel
AddedKeys() gibt Rules.Set zurück
Gibt ein Rules.Set zurück, das alle Schlüssel auflistet, die die Map diff()
aufruft, enthält, die die an diff()
übergebene Map jedoch nicht enthält.
- Kehrt zurück
non-null rules.Set
, eine Liste von Schlüsseln, die der Rules.Map hinzugefügt wurden, die an die FunktionMap.diff()
übergeben wurde.
Beispiel
{"a":1}.diff({}).addedKeys() == ["a"].toSet()
Betroffene Schlüssel
AffectKeys() gibt Rules.Set zurück
Gibt einen Rules.Set zurück, der alle Schlüssel auflistet, die der Map beim Aufruf von diff()
hinzugefügt, daraus entfernt oder geändert wurden, verglichen mit der Map, die an diff()
übergeben wurde. Diese Funktion gibt die Menge zurück, die den kombinierten Ergebnissen von MapDiff.addedKeys()
, MapDiff.removedKeys()
und MapDiff.changedKeys()
entspricht.
({"a":0, "c":0, "u":0}).diff({"r":0, "c":1, "u": 0}).affectedKeys() == ["a", "r", "c"].toSet()
- Kehrt zurück
non-null rules.Set
, eine Liste von Schlüsseln, die der Rules.Map hinzugefügt, daraus entfernt oder geändert wurden, die an die FunktionMap.diff()
übergeben wird.
geänderte Schlüssel
changesKeys() gibt Rules.Set zurück
Gibt einen Rules.Set zurück, der alle Schlüssel auflistet, die sowohl in der Map, die diff()
aufruft, als auch in der Map, die an diff()
übergeben wird, vorkommen, deren Werte jedoch nicht gleich sind.
- Kehrt zurück
non-null rules.Set
, eine Liste von Schlüsseln, die in beiden Rules.Map s vorkommen, deren Werte jedoch nicht gleich sind.
Beispiel
{"a":0}.diff({"a":1, "b":4}).changedKeys() == ["a"].toSet()
Schlüssel entfernt
„removedKeys()“ gibt „rules.Set“ zurück
Gibt einen Rules.Set zurück, der alle Schlüssel auflistet, die die Map diff()
aufruft, im Vergleich zu der Map, die an diff()
übergeben wird, nicht enthält.
- Kehrt zurück
non-null rules.Set
, eine Liste von Schlüsseln, die aus der Rules.Map entfernt wurden, die an die FunktionMap.diff()
übergeben wurde.
Beispiel
{}.diff({"a":1}).removedKeys() == ["a"].toSet()
unveränderte Schlüssel
unverändertKeys() gibt Rules.Set zurück
Gibt einen Rules.Set zurück, der alle Schlüssel auflistet, die sowohl in der Map, die diff()
aufruft, als auch in der Map, die an diff()
übergeben wird, erscheinen und deren Werte gleich sind.
- Kehrt zurück
non-null rules.Set
, eine Liste von Schlüsseln, die in beiden Rules.Map s vorkommen, deren Werte jedoch gleich sind.
Beispiel
{"a": 0}.diff({"a":0}).unchangedKeys() == ["a"].toSet()