-
Notifications
You must be signed in to change notification settings - Fork 67
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Impliment datastores to reduce boilerplate #629
base: master
Are you sure you want to change the base?
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #629 +/- ##
==========================================
- Coverage 76.82% 76.64% -0.19%
==========================================
Files 106 107 +1
Lines 10059 10070 +11
Branches 1664 1665 +1
==========================================
- Hits 7728 7718 -10
- Misses 1797 1824 +27
+ Partials 534 528 -6 ☔ View full report in Codecov by Sentry. |
WIP feature, see #596 for details.
Main Objectives:
set
orsetMany
call.Decisions Made:
BaseDatastore
andDatastoreProvider
one is an interface to plugins / controller the other provides the abilty to save and load data.MemoryDatastoreProvider
offers no abilty to save and load and is designed for testing or when saving is not required.JsonDatastoreProvider
saves the data as a JSON object, has the abilty to migrate and finalise data.JsonIdDatastoreProvider
saves the data as a JSON array where objects store their own id.Datastore
the basic datastore that functions like a map.SubscribableDatastore
a datastore specialised to handleSubscribableValue
ModStore
andUserManager
have not been changed due to their complexity.