Hologram.Compiler.Reflection (hologram v0.1.0)

Link to this section Summary

Functions

Returns the corresponding module definition.

Returns the file path of the given module's source code.

Link to this section Functions

Link to this function

app_path(opts \\ [])

Link to this function

assets_path(opts \\ [{:app_path, "/Users/bart/Files/Projects/hologram/e2e"}, {:env, :dev}, {Hologram.E2E.Web.Endpoint, [pubsub_server: Hologram.E2E.PubSub, render_errors: [view: Hologram.E2E.Web.ErrorView, accepts: ["html", "json"], layout: false], secret_key_base: "/t99BcKoIa8IKka6K9dhpfoRHHYP0fK/FXFNdWO5Wlt+h1wlFeBODgIi8U4XACBE", url: [host: "localhost"], check_origin: false, code_reloader: false, debug_errors: true, http: [ip: {127, 0, 0, 1}, port: 4000], watchers: [esbuild: {Esbuild, :install_and_run, [:hologram, ["--sourcemap=inline", "--watch"]]}]]}, default_layout: Hologram.E2E.DefaultLayout, otp_app: :hologram, ignored_namespaces: [Hologram.Commons, Hologram.Compiler, Hologram.Template]])

Link to this function

has_function?(module, function, arity)

Link to this function

has_macro?(module, function, arity)

Link to this function

has_release_page_list?()

Link to this function

has_template?(module)

Link to this function

hologram_ui_components_path()

Link to this function

ir(code, context \\ %Context{})

Link to this function

is_alias?(term)

Link to this function

is_ignored_module?(module)

Link to this function

is_module?(term)

Link to this function

is_protocol?(term)

Link to this function

lib_path(opts \\ [])

Link to this function

list_components(opts \\ [])

Link to this function

list_layouts(opts \\ [])

Link to this function

list_modules(app)

Link to this function

list_pages(opts \\ [])

Link to this function

list_release_pages()

Link to this function

list_templatables(opts \\ [])

Link to this function

macro_definition(module, name, args)

Link to this function

mix_lock_path(opts \\ [])

Link to this function

mix_path(opts \\ [])

Link to this function

module_definition(module)

Specs

module_definition(module()) :: %Hologram.Compiler.IR.ModuleDefinition{
  aliases: term(),
  attributes: term(),
  component?: term(),
  functions: term(),
  imports: term(),
  layout?: term(),
  macros: term(),
  module: term(),
  page?: term(),
  requires: term(),
  templatable?: term(),
  uses: term()
}

Returns the corresponding module definition.

Examples

iex> Reflection.get_module_definition(Abc.Bcd)
%ModuleDefinition{module: Abc.Bcd, ...}
Link to this function

release_page_digest_store_path()

Link to this function

release_page_list_path()

Link to this function

release_priv_path()

Link to this function

release_static_path()

Link to this function

release_template_store_path()

Link to this function

root_page_digest_store_path(opts \\ [])

Link to this function

root_page_list_path()

Link to this function

root_path(opts \\ [{:app_path, "/Users/bart/Files/Projects/hologram/e2e"}, {:env, :dev}, {Hologram.E2E.Web.Endpoint, [pubsub_server: Hologram.E2E.PubSub, render_errors: [view: Hologram.E2E.Web.ErrorView, accepts: ["html", "json"], layout: false], secret_key_base: "/t99BcKoIa8IKka6K9dhpfoRHHYP0fK/FXFNdWO5Wlt+h1wlFeBODgIi8U4XACBE", url: [host: "localhost"], check_origin: false, code_reloader: false, debug_errors: true, http: [ip: {127, 0, 0, 1}, port: 4000], watchers: [esbuild: {Esbuild, :install_and_run, [:hologram, ["--sourcemap=inline", "--watch"]]}]]}, default_layout: Hologram.E2E.DefaultLayout, otp_app: :hologram, ignored_namespaces: [Hologram.Commons, Hologram.Compiler, Hologram.Template]])

Link to this function

root_priv_path(opts \\ [])

Link to this function

root_source_digest_path(opts \\ [])

Link to this function

root_template_store_path(opts \\ [])

Link to this function

source_code(module)

Link to this function

source_path(module)

Specs

source_path(module()) :: String.t()

Returns the file path of the given module's source code.

Examples

iex> Reflection.source_path(Hologram.Compiler.Reflection)
"/Users/bart/Files/Projects/hologram/lib/hologram/compiler/reflection.ex"
Link to this function

standard_lib?(module)