refactor(signal-forms): rework metadata API #62713
Open
+235
−306
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Note: each commit is an independently reviewable step if you prefer to review commit-by-commit.
I still have a few open questions:
Do we prefer the name
metadata
orproperty
for this concept?What should be the names of the functions used to bind logic to
MetadataKey
andAggregateMetadataKey
.Some ideas for
MetadataKey
include:metadata
(orproperty
)setMetadata
(orsetProperty
)Some ideas for
AggregateMetadataKey
include:addMetadata
(oraddProperty
)addToMetadata
(oraddToProperty
)aggregateMetadata
(oraggregateProperty
)accumulateMetadata
(oraccumulateProperty
)contributeMetadata
(orcontributeToProperty
)It can be tedious to type the generic
MetadataKey.create<...>()
for a key that you use internally to the schema. I'm worried people will just yolo andMetadataKey.create<any>()
, should we add back an equivalent to the 2-parameter variant ofdefine
?