Skip to content

Comments

Support custom components#5

Merged
nevyn merged 2 commits intomainfrom
feature/custom-components
Nov 25, 2025
Merged

Support custom components#5
nevyn merged 2 commits intomainfrom
feature/custom-components

Conversation

@nevyn
Copy link
Member

@nevyn nevyn commented Nov 25, 2025

Change AlloPlace to never actually decode Components to concrete types, and have it store the intermediate representation. Then, the client can choose to decode-- or not-- Components to concrete types.

This should be a nice backwards compatibility too. As long as we only add fields, AlloPlace won't care that the serialization has changed.

This also replaces the wire protocol from BinaryCodable to CBOR. In the future, we might continue onto ASN.1 which PotentCodable supports.

There are probably still some code paths where AnyCodable leaks through in an unexpected way, but everything seems to work that I've found so far, so we can fix those issues along the way.

CustomComponent isn't entirely thought out though. ComponentLists probably needs to be modified to support it in a sane manner.

…concrete types in AnyComponent.

Does not work yet. I can't make AnyComponent.encode(to:) work with treeValues. Committing to have a checkpoint as I test another approach.
@nevyn nevyn merged commit b0e8ffb into main Nov 25, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant