You could write a simple Macro that creates Module with some info, for example in module attributes.
defjsclass MyModuleName, :main do
# shortcut for define variable getter
defjsvariable :variable_name, :get
# shortcut for define another variable getter and setter
defjsvariable :another_variable_name, :both
def main do
# ...
end
end
that should be visible like:
defmodule MyModuleName do
@elixir_script_class_constructor_method_name :main
@elixir_script_is_class true
# shortcut for define variable getter
defjsvariable :variable_name, :get
# shortcut for define another variable getter and setter
defjsvariable :another_variable_name, :both
def main do
# ...
end
end


















