lib/live_view_native_swift_ui/modifiers/drawing_and_graphics/clip_shape.ex
defmodule LiveViewNativeSwiftUi.Modifiers.ClipShape do
use LiveViewNativePlatform.Modifier
alias LiveViewNativeSwiftUi.Types.{Shape, FillStyle}
modifier_schema "clip_shape" do
field :shape, Shape
field :style, FillStyle
end
def params(shape, [style: style]), do: [shape: shape, style: style]
def params(params) do
with {:ok, _} <- Shape.cast(params) do
[shape: params, style: nil]
else
_ ->
params
end
end
end