AshDyan.Extension.Loader (AshDyan v0.5.0)

Copy Markdown View Source

Loads and merges configurations from all registered AshDyan extensions.

Extensions are registered via config :ash_dyan, :extensions, [MyExtension].

Summary

Functions

Get the base configuration (without extensions).

Load all extensions and return merged configuration.

Functions

base_config()

@spec base_config() :: map()

Get the base configuration (without extensions).

load()

@spec load() :: %{
  analysis_types: %{required(atom()) => module()},
  data_layer_capabilities: %{required(module()) => module()},
  custom_aggregates: %{required(atom()) => module()},
  hooks: %{
    before_query: [module()],
    after_query: [module()],
    before_format: [module()],
    after_format: [module()]
  },
  dsl_entities: [module()]
}

Load all extensions and return merged configuration.