quy tắc . Bản đồDiff
Loại MapDiff.
Loại MapDiff biểu thị kết quả của việc so sánh hai đối tượng Rules.Map .
Không có chữ MapDiff nào để sử dụng trong việc tạo khác biệt. Các đối tượng MapDiff được trả về bằng các lệnh gọi đến hàm Rules.Map#diff .
Các hàm MapDiff được mô tả bên dưới được gọi bằng cách nối chuỗi với Rules.Map#diff . Tất cả các hàm MapDiff đều trả về các quy tắc. Đặt các khóa liệt kê các đối tượng được so sánh giữa các đối tượng 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"]);
phương pháp
đã thêmKhóa
đã thêmKeys() trả về quy tắc.Set
Trả về một quy tắc.Set , liệt kê bất kỳ khóa nào mà Map gọi diff()
chứa mà Map được truyền tới diff()
không có.
- Trả lại
non-null rules.Set
, danh sách các khóa được thêm vào quy tắc.Map được truyền cho hàmMap.diff()
.
Ví dụ
{"a":1}.diff({}).addedKeys() == ["a"].toSet()
phím bị ảnh hưởng
bị ảnh hưởng() trả về quy tắc.Set
Trả về một quy tắc.Set , liệt kê bất kỳ khóa nào đã được thêm vào, xóa khỏi hoặc sửa đổi khỏi Map gọi diff()
so với Map được truyền cho diff()
. Hàm này trả về tập hợp tương đương với kết quả tổng hợp của MapDiff.addedKeys()
, MapDiff.removedKeys()
và MapDiff.changedKeys()
.
({"a":0, "c":0, "u":0}).diff({"r":0, "c":1, "u": 0}).affectedKeys() == ["a", "r", "c"].toSet()
- Trả lại
non-null rules.Set
, danh sách các khóa được thêm vào, xóa khỏi hoặc thay đổi khỏi quy tắc. Bản đồ được chuyển đến hàmMap.diff()
.
phím đã thay đổi
đã thay đổiKeys() trả về quy tắc.Set
Trả về một quy tắc.Set , liệt kê bất kỳ khóa nào xuất hiện trong cả Map gọi diff()
và Map được chuyển đến diff()
nhưng có giá trị không bằng nhau.
- Trả lại
non-null rules.Set
, danh sách các khóa xuất hiện trong cả hai quy tắc.Map s nhưng có giá trị không bằng nhau.
Ví dụ
{"a":0}.diff({"a":1, "b":4}).changedKeys() == ["a"].toSet()
đã xóaPhím
RemoveKeys() trả về quy tắc.Set
Trả về một quy tắc.Set , liệt kê bất kỳ khóa nào mà Map gọi diff()
không chứa so với Map được truyền cho diff()
.
- Trả lại
non-null rules.Set
, danh sách các khóa bị xóa khỏi quy tắc.Map được chuyển đến hàmMap.diff()
.
Ví dụ
{}.diff({"a":1}).removedKeys() == ["a"].toSet()
phím không thay đổi
không thay đổiKeys() trả về quy tắc.Set
Trả về một quy tắc.Set , liệt kê bất kỳ khóa nào xuất hiện trong cả Bản đồ gọi diff()
và Bản đồ được chuyển đến diff()
và có giá trị bằng nhau.
- Trả lại
non-null rules.Set
, danh sách các khóa xuất hiện trong cả hai quy tắc.Map s nhưng có giá trị bằng nhau.
Ví dụ
{"a": 0}.diff({"a":0}).unchangedKeys() == ["a"].toSet()