• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

optimizely / nuclear-js / 318 / 1
98%
master: 98%

Build:
DEFAULT BRANCH: master
Ran 27 Sep 2016 09:36PM UTC
Files 14
Run time 2s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

27 Sep 2016 09:33PM UTC coverage: 97.536% (-0.7%) from 98.243%
318.1

Pull #223

travis-ci

web-flow
Refactor getter caching based on keypath state

The current version of NuclearJS uses a cache key consisting of store
states (monotomically incresing ID per store).  This has the
disadvantage of allowing only a single level of depth when figuring out
if a cache entry is stale.  This leads to poor performance when the
shape of a Reactor's state is more deep than wide, ie a store having
multiple responsibilities for state tracking.

The implementation is as follows:

- Consumer can set the maxCacheDepth when instantiating a reactor
- Getters are broken down into the canonical set of keypaths based on
the maxCacheDepth
- Add a keypath tracker abstraction to maintain the state value of all
tracked keypaths
- After any state change (`Reactor.__notify`) dirty keypaths are
resolved and then based on which keypaths have changed any dependent
observers are called
Pull Request #223: Refactor getter caching based on keypath state

752 of 771 relevant lines covered (97.54%)

89.65 hits per line

Source Files on job 318.1
  • Tree
  • List 0
  • Changed 11
  • Source Changed 6
  • Coverage Changed 11
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 318
  • Travis Job 318.1
  • 4740f618 on github
  • Prev Job for on master (#317.1)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc