feat(contract): add render() to UI provider contract #9
Labels
No labels
coordination/cross-repo
coordination/needed
effort
large
effort
medium
effort
small
meta/duplicate
meta/planning
meta/wontfix
priority
high
priority
low
priority
medium
session
blocker
session
handover
session
next
status
blocked
status
done
status
in-progress
status
review
status
to-go
type
admin
type
bug
type
config
type
deployment
type
docs
type/documentation
type
enhancement
type
feature
type
handover
type
infrastructure
type
installation
type
maintenance
type
migration
type/refactor
type
research
type
security
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
DAW/daw-modul-berhtjan-core#9
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Goal
Define render() as a required operation in the berhtjan-core UI provider
contract. All UI providers (berhtjan-cli, berhtjan-web, berhtjan-api,
berhtjan-desktop) must implement this operation.
Background
adapters/ui (DAW/fragjan#90) translates domain schemas to ui_types/v1
and passes records to all active UI providers via render().
berhtjan-core must define the contract so all providers are validated
consistently.
Required changes
init.lua
render = "bool_or_err"
{ "dispatch", "build_usage", "render" }
Contract
mod.render(data, cfg) -> true, nil | nil, err
data = { schema = "ui_types/v1", records = { ... }, fields = { ... } }
Output format is provider-specific -- berhtjan-core defines the
interface only, never the output.
Note
Implementation issues per provider: