motorcyclejs/core
{ "createdAt": "2015-11-09T16:46:05Z", "defaultBranch": "master", "description": "A fully reactive JavaScript framework for Human-Computer Interaction", "fullName": "motorcyclejs/core", "homepage": null, "language": "TypeScript", "name": "core", "pushedAt": "2017-04-26T17:25:30Z", "stargazersCount": 268, "topics": [], "updatedAt": "2025-05-05T07:56:45Z", "url": "https://github.com/motorcyclejs/core"}Motorcycle.js
Section titled “Motorcycle.js”This is the core of Motorcycle.js creating your applicaton loop tied together with most.js.
It separates your application logic into a pure (as much as JavaScript can be) function, and your
side-effectful code into drivers.
DEPRECATED! Please use the newer Motorcycle.js
Install
Section titled “Install”$ npm install @motorcycle/coreWant to Contribute?
Section titled “Want to Contribute?”If you found an issue or want to contribute code, please read the [contributing guidelines]!(CONTRIBUTING.md).
If would like to have a repository considered for inclusion in the Motorcycle.js Github and NPM organizations, please open an issue first to avoid duplication of effort and further the possibility of your work being accepted. Afterwards, please refer to our [repository guidelines]!(REPOSITORIES.md).
Useful Utilities
Section titled “Useful Utilities”- most-subject - A subject implementation for most.js
- most-proxy - Declarative circular dependencies for most.js
run(main, drivers)
Section titled “run(main, drivers)”Importing
Section titled “Importing”import * as Motorcycle from '@motorcycle/core'
Motorcycle.run(main, drivers)Takes a main function and circularly connects it to the given
collection of driver functions.
The main function takes an object of sources as input. Sources
are the outputs from the various drivers. To complete the cycle,
main should return a sinks object, which is a mapping
of return values from the program to the drivers, i.e., inputs
to the drivers, usually Observables/Streams.
Arguments:
Section titled “Arguments:”main :: Function - a function that takes sources as input and outputs a collection of sinks Observables/Streams.
drivers :: Object - an object where keys are driver names and values are driver functions.
Return:
Section titled “Return:”(Object) an object containing sources, sinks, and dispose() that can be used for debugging or testing.
sources :: Object<most.Stream> - The collection that is passed to your main function. The output of the drivers passed to run()
sinks :: Object<most.Stream> - The collection that is returned from your main function. The input to the drivers.
dispose :: Function - A function that will dispose of streams from sinks and sources.
[motorcycle-dom] !: https://github.com/motorcyclejs/motorcycle-dom [contributing] !: https://github.com/motorcyclejs/motorcycle/blob/master/CONTRIBUTING.md