lib/live_view_native_platform/schema.ex
defmodule LiveViewNativePlatform.Schema do
defmacro __using__(opts) do
{_op, _meta, args} = Keyword.get(opts, :params, %{})
struct_keys = Keyword.keys(args)
struct_fields = Enum.map(struct_keys, &{&1, nil})
quote do
defstruct unquote(struct_fields)
end
end
end