Skip to main content
Version: Next

Updating

Previous sections show how to add and remove a binding from a given big map. The function Big_map.update can do both depending whether some value is given for the new binding or not: in the former case, a new binding is added (and replaces any previous binding with the same key); in the latter case, any binding with the same key is removed and a new big map is returned.

const my_map: big_map<int,string> =
Big_map.literal([[1,"one"],[2,"two"]]);
const map_with_3 = Big_map.update (3, ["Some" as "Some", "three"], my_map);
const contains_3 = Big_map.mem(3, map_with_3); // == true
const map_without_2 = Big_map.update(2, ["None" as "None"], my_map);
const contains_2 = Big_map.mem (2, map_without_2); // == false

When we want to update a big map, but also obtain the value of the updated binding, we can use Big_map.get_and_update.

// three == ["Some" as "Some", "three"]
const [three, map_without_3] =
Big_map.get_and_update(3, ["None" as "None"], map_with_3);