Method: Sass::Script::Functions#map_merge

Defined in:
lib/sass/script/functions.rb

#map_merge($map1, $map2) ⇒ Sass::Script::Value::Map

Merges two maps together into a new map. Keys in $map2 will take precedence over keys in $map1.

This is the best way to add new values to a map.

All keys in the returned map that also appear in $map1 will have the same order as in $map1. New keys from $map2 will be placed at the end of the map.

Like all map functions, map-merge() returns a new map rather than modifying its arguments in place.

Examples:

map-merge(("foo": 1), ("bar": 2)) => ("foo": 1, "bar": 2)
map-merge(("foo": 1, "bar": 2), ("bar": 3)) => ("foo": 1, "bar": 3)

Returns:

Raises:

  • (ArgumentError)

    if either parameter is not a map



2266
2267
2268
2269
2270
# File 'lib/sass/script/functions.rb', line 2266

def map_merge(map1, map2)
  assert_type map1, :Map, :map1
  assert_type map2, :Map, :map2
  map(map1.to_h.merge(map2.to_h))
end