- Review TS types
- get rid of gts warnings
- get rid of deprecated features
- How to undo the changes according to events?
- As Michael found,
seal
,freeze
&preventExtensions
all triggerpreventExtensions
anddefineProperty
.- should support defineProperty?
- advanced feature, hold on
- definedProperty doesn't support parameter receiver. But we can save the receiver in
handler.get
&handler.set
- Can we replace array with completely new arr instead? (instead of in-place unshift and splice ...etc)
- it might be even slower
- Change for faster equals/uniq library?
- fastequal
- benchmark first
- removeDuplicateEvents 可能是没必要的。 只要 set 和 get 在出现重复的 event id 的时候统一都取短的那个, 就能解决重复刷新的问题。
- Does transaction events property need to include stale$ in addition to set$ and delete$.
- I guess yes, when we allow user to do freeform transaction
- If only transaction with array methods, there is no need to, because those methods should be atomic. It won't cause any stale in the middle.
- Support inheritance?
- this product supports it: https://medium.com/@solkimicreb/stress-testing-react-easy-state-ac321fa3becf
- Add benchmark to https://github.com/krausest/js-framework-benchmark
- Compare with https://github.com/RisingStack/react-easy-state/tree/master/examples/todo-mvc
- Support built-in objects like
Map
- Ref: https://itnext.io/the-ideas-behind-react-easy-state-901d70e4d03e
- Low priority. JSON compatible data support is sufficient
- Cannot monitor getter & setter?