Skip to content
Brian Cavalier edited this page May 5, 2016 · 15 revisions

1.0

  • ✅ Refactor into Timer + Scheduler
    • ✅ Rework TestScheduler into TestTimer + Scheduler
  • ✅ Improve sample or provide a variant that passes the sampler value in addition to all the sampled values
  • ✅ Create @most/dom, which will provide convenience methods for dom events--basically wrappers around fromEvent--like: import { click } from '@most/dom'; const clicks = click(node);
  • ✅ "Bring your own promise"
    • ✅ remove when.js dep, depend on global Promise
    • ✅ Add info to README pointing to creed, when.js, bluebird, rsvp for polyfill if needed
  • ✅ Add useCapture flag to fromEvent
  • ⬜ S7 Observable interop via [Symbol.observable], subscribe, and from
  • ⬜ Create Typescript definition

Post 1.0

Scheduler

  • Investigate hash wheel as new data structure for Scheduler
  • Expose Scheduler constructor or createScheduler smart constructor
  • Expose defaultScheduler as most.defaultScheduler

APIs

  • Expose slightly lower level API than observe/drain/reduce
    • Doesn't involve promises
    • Allows configurable scheduler
    • probably like:
      • runStream :: Observer a b -> Scheduler -> undefined
      • type Handler a :: t -> a -> undefined
      • type Observer a b = { event :: Handler a, end :: Handler b, error :: Handler Error }
  • Consider providing observe/drain/reduce variants that allow passing in a scheduler.
  • Implement full ES7 Observable spec?
  • Decide whether function APIs should be pre-curried.

Tooling

  • Add code coverage (e.g. istanbul + coveralls.io)
  • Update to latest versions of all build tools (webpack, uglify, etc)
  • Create flowtype definition

Modularity / Packaging

  • Discuss @most/core and moving more groups of functionality to @most/* packages.
Clone this wiki locally