Skip to content
Brian Cavalier edited this page Jan 18, 2016 · 15 revisions

In no specific order ...

Scheduler

  • Refactor into Timer + Scheduler (started here)
    • Rework TestScheduler into TestTimer + 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 ES7 Observable spec
  • Add useCapture flag to fromEvent

Promises

  • "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

Tooling

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

Modularity / Packaging

  • Discuss @most/core and moving more groups of functionality to @most/* packages.
  • 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);
Clone this wiki locally