tüzük . Harita Farkı
MapDiff türü.
MapDiff türü, iki kural.Map nesnesinin karşılaştırılması sonucunu temsil eder.
Fark oluşturmada kullanılabilecek bir MapDiff değişmezi yoktur. MapDiff nesneleri, Rules.Map#diff işlevine yapılan çağrılarla döndürülür.
Aşağıda açıklanan MapDiff işlevleri, Rules.Map#diff ile zincirleme oluşturularak çağrılır. Tüm MapDiff işlevleri kuralları döndürür. Harita nesneleri arasında karşılaştırılan anahtarları listeleyen nesneleri ayarlayın.
// 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"]);
Yöntemler
eklenenAnahtarlar
addKeys() kuralları döndürür.Set
diff()
öğesini çağıran Haritanın içerdiği diff()
öğesine iletilen Haritanın içermediği anahtarları listeleyen bir Rules.Set döndürür.
- İadeler
non-null rules.Set
, kurallara eklenen anahtarların listesi.MapMap.diff()
işlevine aktarılır.
Örnek
{"a":1}.diff({}).addedKeys() == ["a"].toSet()
etkilenenAnahtarlar
etkilenenKeys() kuralları döndürür.Set
diff()
diff()
öğesini çağıran Haritaya eklenen, haritadan kaldırılan veya haritada değiştirilen tüm anahtarları listeleyen bir rule.Set döndürür. Bu işlev, MapDiff.addedKeys()
, MapDiff.removedKeys()
ve MapDiff.changedKeys()
öğelerinin birleştirilmiş sonuçlarına eşdeğer kümeyi döndürür.
({"a":0, "c":0, "u":0}).diff({"r":0, "c":1, "u": 0}).affectedKeys() == ["a", "r", "c"].toSet()
- İadeler
non-null rules.Set
eklenen, kurallardan kaldırılan veya değiştirilen anahtarların listesini ayarlayın. Map,Map.diff()
işlevine aktarıldı.
değiştirildiAnahtarlar
changedKeys() kuralları döndürür.Set
Hem diff()
öğesini çağıran Haritada hem de diff()
öğesine iletilen Haritada görünen ancak değerleri eşit olmayan tüm anahtarları listeleyen bir Rules.Set döndürür.
- İadeler
non-null rules.Set
, her iki kuralda da görünen ancak değerleri eşit olmayan anahtarların listesi.
Örnek
{"a":0}.diff({"a":1, "b":4}).changedKeys() == ["a"].toSet()
kaldırıldıAnahtarlar
RemovedKeys() kuralları döndürür.Set
diff()
diff()
öğesini çağıran Haritanın içermediği tüm anahtarları listeleyen bir rule.Set döndürür.
- İadeler
non-null rules.Set
, kurallardan kaldırılan anahtarların listesi.MapMap.diff()
işlevine aktarılır.
Örnek
{}.diff({"a":1}).removedKeys() == ["a"].toSet()
değişmemişAnahtarlar
changedKeys() kuralları döndürür.Set
Hem diff()
öğesini çağıran Haritada hem de diff()
öğesine iletilen Haritada görünen ve değerleri eşit olan tüm anahtarları listeleyen bir Rules.Set döndürür.
- İadeler
non-null rules.Set
, her iki kuralda da görünen ancak değerleri eşit olan anahtarların listesi.Map .
Örnek
{"a": 0}.diff({"a":0}).unchangedKeys() == ["a"].toSet()