refac(console): factor out a Store
type
#359
Merged
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.
Currently, there's a bit of repeated boilerplate code for processing
updates to the stored state for tasks, resources, and async ops, such as
tracking a list of new items since the last update, and handling ID
remapping. This PR builds upon the refactor in #358, and replaces the
state::id
module with a newstate::store
module. This modulecontains all of the old code for ID remapping along with a new
Store
type that implements a store of objects by ID. The
Store
type nowimplements much of the boilerplate code that was previously repeated in
the
state::tasks
,state::resources
, andstate::async_ops
modules.