Skip to content

Capabilities API - #86

Merged
onx2 merged 12 commits into
mainfrom
api-addition
Aug 14, 2026
Merged

Capabilities API#86
onx2 merged 12 commits into
mainfrom
api-addition

Conversation

@onx2

@onx2 onx2 commented Aug 14, 2026

Copy link
Copy Markdown
Owner

Summary

Move table capability registration into the table subsystem while preserving the existing high-level APIs.

Capability-based registration is now available for cases where the source type does not fully describe the desired bindings:

.bind::<PlayerTableAccessor>([
    TableCapability::insert(),
    TableCapability::delete(),
    TableCapability::update(),
    TableCapability::insert_update(),
])

Direct convenience methods are also supported:

.bind_insert::<PlayerTableAccessor>()
.bind_delete::<PlayerTableAccessor>()
.bind_update::<PlayerTableAccessor>()

Capabilities are checked at compile time through WithInsert, WithDelete, and WithUpdate. For example, binding delete or update to an event table fails to compile.

Existing APIs such as add_table, add_view, and add_event_table remain available for higher-level setup. Duplicate accessor/capability registrations fail at configuration time with a precise error message.

@onx2 onx2 self-assigned this Aug 14, 2026
@onx2 onx2 added the enhancement New feature or request label Aug 14, 2026
@onx2
onx2 marked this pull request as ready for review August 14, 2026 01:12
Base automatically changed from table-accessor to main August 14, 2026 13:16
@onx2
onx2 merged commit 6aa1239 into main Aug 14, 2026
11 checks passed
@onx2
onx2 deleted the api-addition branch August 14, 2026 13:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant