-
Notifications
You must be signed in to change notification settings - Fork 206
Roadmap
Brian Cavalier edited this page Sep 29, 2016
·
15 revisions
- Curry public API
- Port source and tests fully to ES6
- Implement Fantasy Land and Static Land 1.0
- Implement Fantasy/Static Land Extend
- Possibly: move to synchronous Disposer model (may reduce mem/cpu by avoiding promises)
- ✅ 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- See
@most/sample
- See
- ✅ 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);
- See
@most/dom-event
- See
- ✅ "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 - ✅ Draft ES Observable interop via
[Symbol.observable]
,subscribe
,of
, andfrom
- ✅ Create Typescript definition
- ✅ Move
most.create
to separate package - ✅ Remove deprecated functions and methods
Things that are being evaluated, and may happen after 1.0.0 is released. Depending on the nature of the change, some things may happen in 1.x.x releases, and others in x.0.0 releases (based on semver).
- Investigate hash wheel as new data structure for Scheduler
- Expose Scheduler constructor or createScheduler smart constructor
- Expose defaultScheduler as most.defaultScheduler
- 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 ES Observable spec?
- Add code coverage (e.g. istanbul + coveralls.io)
- Update to latest versions of all build tools (webpack, uglify, etc)
- Create flowtype definition
- Discuss @most/core and moving more groups of functionality to @most/* packages.