OctaStar.Actions (octa_star v0.1.0)

Copy Markdown

Datastar action expression helpers.

These helpers generate strings for data-on:* attributes:

<button data-on:click={OctaStar.Actions.post(MyAppWeb.CounterController, "increment")}>

Summary

Functions

Decodes a URL-safe module name into an existing Elixir module.

Generates a @delete(...) Datastar action expression.

Encodes an Elixir module name for URL path usage.

Generates a @get(...) Datastar action expression.

Generates a @patch(...) Datastar action expression.

Generates a @post(...) Datastar action expression.

Generates a @put(...) Datastar action expression.

Functions

decode_module(encoded)

@spec decode_module(String.t()) :: {:ok, module()} | :error

Decodes a URL-safe module name into an existing Elixir module.

delete(module_or_event, event_or_opts \\ [])

Generates a @delete(...) Datastar action expression.

delete(module, event, opts)

encode_module(module)

@spec encode_module(module()) :: String.t()

Encodes an Elixir module name for URL path usage.

get(module_or_event, event_or_opts \\ [])

Generates a @get(...) Datastar action expression.

get(module, event, opts)

patch(module_or_event, event_or_opts \\ [])

Generates a @patch(...) Datastar action expression.

patch(module, event, opts)

post(module_or_event, event_or_opts \\ [])

Generates a @post(...) Datastar action expression.

post(module, event, opts)

put(module_or_event, event_or_opts \\ [])

Generates a @put(...) Datastar action expression.

put(module, event, opts)