# `MishkaGervaz.ResourceInfo`
[🔗](https://github.com/mishka-group/mishka_gervaz/blob/v0.0.1-alpha.3/lib/mishka_gervaz/resource_info.ex#L1)

Delegate module for resource introspection.

Provides a single entry point for reading both table and form configuration.
For direct access use `MishkaGervaz.Resource.Info.Table` or
`MishkaGervaz.Resource.Info.Form`.

## Naming convention

Every delegate follows the same rule:

- **`table_<fn>`** — delegates to `MishkaGervaz.Resource.Info.Table.<fn>` with
  the exact same name.
- **`form_<fn>`**  — delegates to `MishkaGervaz.Resource.Info.Form.<fn>` with
  the exact same name.

No unprefixed shortcuts, no renames, no suffixes. If you find an accessor
on `Info.Table` named `x`, the delegate here is `table_x`. Same for Form.

## Examples

    # Table — top-level / structural
    ResourceInfo.table_config(MyResource)
    ResourceInfo.table_columns(MyResource)
    ResourceInfo.table_filters(MyResource)
    ResourceInfo.table_pagination(MyResource)
    ResourceInfo.table_hooks(MyResource)
    ResourceInfo.table_route(MyResource)

    # Table — chrome / notices / archive / features
    ResourceInfo.table_header(MyResource)
    ResourceInfo.table_footer(MyResource)
    ResourceInfo.table_notices(MyResource)
    ResourceInfo.table_archive_enabled?(MyResource)
    ResourceInfo.table_features(MyResource)

    # Table — overridable pillars
    ResourceInfo.table_state(MyResource)
    ResourceInfo.table_events(MyResource)
    ResourceInfo.table_data_loader(MyResource)

    # Form — top-level / structural
    ResourceInfo.form_config(MyResource)
    ResourceInfo.form_fields(MyResource)
    ResourceInfo.form_groups(MyResource)
    ResourceInfo.form_steps(MyResource)
    ResourceInfo.form_hooks(MyResource)
    ResourceInfo.form_route(MyResource)

    # Form — chrome / notices / component / JS hooks
    ResourceInfo.form_header(MyResource)
    ResourceInfo.form_notices(MyResource)
    ResourceInfo.form_component_id(MyResource)
    ResourceInfo.form_js_hook(MyResource, :on_save)

    # Form — overridable pillars
    ResourceInfo.form_state(MyResource)
    ResourceInfo.form_events(MyResource)
    ResourceInfo.form_data_loader(MyResource)

## Not delegated (internal-only)

These accessors are intentionally not exposed here — they are
framework-internal and only meaningful inside the dispatcher / hook
runner / query builder. Call them on the info modules directly if needed:

- `MishkaGervaz.Resource.Info.Table.builtins/1` — internal hook-builtin map
- `MishkaGervaz.Resource.Info.Table.get_hook/2` — internal sugar over `hooks/1`
- `MishkaGervaz.Resource.Info.Table.preload_aliases/2` — used by the query builder
- `MishkaGervaz.Resource.Info.Form.preload_aliases/2`  — used by the form data loader

# `form_action_for`

# `form_all_preloads`

# `form_component_id`

# `form_config`

# `form_data_loader`

# `form_detected_preloads`

# `form_events`

# `form_field`

# `form_field_order`

# `form_fields`

# `form_footer`

# `form_groups`

# `form_header`

# `form_hooks`

# `form_js_hook`

# `form_layout`

# `form_navigation`

# `form_notice`

# `form_notices`

# `form_notices_at`

# `form_persistence`

# `form_route`

# `form_state`

# `form_step`

# `form_step_groups`

# `form_steps`

# `form_stream_name`

# `form_submit`

# `form_uploads`

# `table_action_for`

# `table_all_preloads`

# `table_archive_action_for`

# `table_archive_enabled?`

# `table_bulk_actions`

# `table_column`

# `table_column_order`

# `table_columns`

# `table_config`

# `table_data_loader`

# `table_detected_preloads`

# `table_events`

# `table_feature_enabled?`

# `table_features`

# `table_filter`

# `table_filter_group`

# `table_filter_groups`

# `table_filter_mode`

# `table_filters`

# `table_footer`

# `table_header`

# `table_hooks`

# `table_layout`

# `table_max_page_size`

# `table_notice`

# `table_notices`

# `table_notices_at`

# `table_page_size`

# `table_page_size_options`

# `table_pagination`

# `table_pagination_enabled?`

# `table_pagination_type`

# `table_pagination_ui`

# `table_refresh`

# `table_route`

# `table_row_action`

# `table_row_actions`

# `table_state`

# `table_stream_name`

# `table_url_sync`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
