@@ -176,6 +176,11 @@ defmodule Styler.Style.SingleNode do
176176 defp style ( { :|> , pm , [ lhs , { { :. , dm , [ { _ , _ , [ unquote ( m ) ] } = module , :merge ] } , m , [ [ { key , value } ] ] } ] } ) ,
177177 do: { :|> , pm , [ lhs , { { :. , dm , [ module , :put ] } , m , [ key , value ] } ] }
178178
179+ # lhs |> Map.merge([key: value]) => lhs |> Map.put(:key, value)
180+ defp style (
181+ { :|> , pm , [ lhs , { { :. , dm , [ { _ , _ , [ unquote ( m ) ] } = module , :merge ] } , m , [ { :__block__ , _ , [ [ { key , value } ] ] } ] } ] }
182+ ) , do: { :|> , pm , [ lhs , { { :. , dm , [ module , :put ] } , m , [ key , value ] } ] }
183+
179184 # Map.merge(foo, %{one_key: :bar}) => Map.put(foo, :one_key, :bar)
180185 defp style ( { { :. , dm , [ { _ , _ , [ unquote ( m ) ] } = module , :merge ] } , m , [ lhs , { :%{} , _ , [ { key , value } ] } ] } ) ,
181186 do: { { :. , dm , [ module , :put ] } , m , [ lhs , key , value ] }
@@ -184,6 +189,10 @@ defmodule Styler.Style.SingleNode do
184189 defp style ( { { :. , dm , [ { _ , _ , [ unquote ( m ) ] } = module , :merge ] } , m , [ lhs , [ { key , value } ] ] } ) ,
185190 do: { { :. , dm , [ module , :put ] } , m , [ lhs , key , value ] }
186191
192+ # Map.merge(foo, [one_key: :bar]) => Map.put(foo, :one_key, :bar)
193+ defp style ( { { :. , dm , [ { _ , _ , [ unquote ( m ) ] } = module , :merge ] } , m , [ lhs , { :__block__ , _ , [ [ { key , value } ] ] } ] } ) ,
194+ do: { { :. , dm , [ module , :put ] } , m , [ lhs , key , value ] }
195+
187196 # (lhs |>) Map.drop([key]) => Map.delete(key)
188197 defp style ( { { :. , dm , [ { _ , _ , [ unquote ( m ) ] } = module , :drop ] } , m , [ { :__block__ , _ , [ [ { op , _ , _ } = key ] ] } ] } )
189198 when op != :| , do: { { :. , dm , [ module , :delete ] } , m , [ key ] }
0 commit comments