New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

fairmont

Package Overview
Dependencies
Maintainers
3
Versions
90
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fairmont - npm Package Compare versions

Comparing version 1.0.0-beta-24 to 1.0.0-beta-25

16

package.json
{
"name": "fairmont",
"version": "1.0.0-beta-24",
"version": "1.0.0-beta-25",
"description": "Functional reactive programming for JavaScript and CoffeeScript.",

@@ -36,11 +36,11 @@ "files": [

"dependencies": {
"fairmont-core": "^1.0.0-beta-19",
"fairmont-helpers": "^1.0.0-beta-18",
"fairmont-multimethods": "^1.0.0-beta-18",
"fairmont-reactive": "^1.0.0-beta-25",
"fairmont-crypto": "^1.0.0-beta-18",
"fairmont-process": "^1.0.0-beta-18",
"fairmont-filesystem": "^1.0.0-beta-18"
"fairmont-core": "^1.0.0-beta-20",
"fairmont-helpers": "^1.0.0-beta-19",
"fairmont-multimethods": "^1.0.0-beta-19",
"fairmont-reactive": "^1.0.0-beta-27",
"fairmont-crypto": "^1.0.0-beta-19",
"fairmont-process": "^1.0.0-beta-19",
"fairmont-filesystem": "^1.0.0-beta-19"
},
"engine": "node >= 0.12.x"
}

@@ -13,26 +13,93 @@ # Fairmont

* streams and event emitters modeled as asynchronous iterators
* seamless integration between synchronous and asynchronous operations
* … and more!
* observers for reacting to changes in state
* unifies synchronous and asynchronous programming models
## Components
## Example
This is the main library for Fairmont.
It includes/requires several others:
Here's a simple reactive Web app implementing a counter using Fairmont's Reactive programming functions.
* [`fairmont-core`](https://github.com/pandastrike/fairmont-core) - [support functions for currying, partial application, function composition, and helper functions](https://github.com/pandastrike/fairmont-core/blob/master/src/index.litcoffee)
* [`fairmont-reactive`](https://github.com/pandastrike/fairmont-reactive) - [Reducer functions](https://github.com/pandastrike/fairmont-reactive/blob/master/src/reducer.litcoffee), [iterator functions](https://github.com/pandastrike/fairmont-reactive/blob/master/src/iterator.litcoffee), and [functional reactive programming](https://github.com/pandastrike/fairmont-reactive/blob/master/src/reactive.litcoffee)
* [`fairmont-multimethods`](https://github.com/pandastrike/fairmont-multimethods/) - [CLOS-style multimethods in CoffeeScript](https://github.com/pandastrike/fairmont-multimethods/blob/master/src/index.litcoffee) (more detail on our [blog](https://www.pandastrike.com/posts/20150616-multimethods))
* [`fairmont-filesystem`](https://github.com/pandastrike/fairmont-filesystem/) - [filesystem functions](https://github.com/pandastrike/fairmont-filesystem/blob/master/src/index.litcoffee)
* [`fairmont-process`](https://github.com/pandastrike/fairmont-process/) - [functions for Unix processes](https://github.com/pandastrike/fairmont-process/blob/master/src/index.litcoffee)
* [`fairmont-crypto`](https://github.com/pandastrike/fairmont-crypto/) - [basic cryptographic functions](https://github.com/pandastrike/fairmont-crypto/blob/master/src/index.litcoffee)
* [`fairmont-helpers`](https://github.com/pandastrike/fairmont-helpers/) - a range of functions which make it easier to work with arrays, strings, types, and other fundamental building blocks
In JavaScript:
## Examples
```javascript
var $ = require("jquery"),
F = require("fairmont");
You can get a feel for what Fairmont can do for you by [checking out the examples](https://github.com/pandastrike/fairmont-reactive/tree/master/examples).
$(function() {
## Reference
var data = { counter: 0 };
Fairmont uses [literate programming](http://www.coffeescriptlove.com/2013/02/literate-coffeescript.html), so each source file doubles as documentation. Please see the [source directory](./src/index.litcoffee) for more.
F.start(F.flow([
F.events("click", $("a[href='#increment']")),
F.map(function() { data.counter++; })
]));
F.start(F.flow([
F.events("change", F.observe(data)),
F.map(function() {
$("p.counter")
.html(data.counter);
})
]));
});
```
In CoffeeScript:
```coffeescript
{start, flow, events, map, observe} = require "fairmont-reactive"
$ = require "jquery"
$ ->
data = counter: 0
start flow [
events "click", $("a[href='#increment']")
map -> data.counter++
]
start flow [
events "change", observe data
map ->
$("p.counter")
.html data.counter
]
```
Check out our other reactive examples:
- an [echo server][]
- a [Web server][]
- a [file watcher][]
[echo server]:https://github.com/pandastrike/fairmont-reactive/blob/master/examples/echo-server.litcoffee
[Web server]:https://github.com/pandastrike/fairmont-reactive/blob/master/examples/web-server.litcoffee
[file watcher]:https://github.com/pandastrike/fairmont-reactive/blob/master/examples/file-watcher.litcoffee
## Installation
You can simply install Fairmont as a whole:
`npm install fairmont`
Or you can simply install the components you need.
Example:
`npm install fairmont-core`
Learn more about the individual Fairmont components by clicking on the links below:
- [fairmont-core][]
- [fairmont-reactive][]
- [fairmont-multimethods][]
- [fairmont-helpers][]
- [fairmont-crypto][]
- [fairmont-process][]
- [fairmont-filesystem][]
The [API Reference] provides documentation on each component and its corresponding functions.
## Status

@@ -44,5 +111,13 @@

You can get an idea of what we're planning by looking at the [issues list][200]. If you want something that isn't there, and you think it would be a good addition, please open a ticket.
You can get an idea of what we're planning by looking at the [tickets][]. If you want something that isn't there, and you think it would be a good addition, please open a ticket.
[200]:https://github.com/pandastrike/fairmont/issues
[tickets]:https://github.com/pandastrike/fairmont/issues
[fairmont]:https://github.com/pandastrike/fairmont
[fairmont-core]:https://github.com/pandastrike/fairmont-core
[fairmont-reactive]:https://github.com/pandastrike/fairmont-reactive
[fairmont-multimethods]:https://github.com/pandastrike/fairmont-multimethods
[fairmont-helpers]:https://github.com/pandastrike/fairmont-helpers
[fairmont-crypto]:https://github.com/pandastrike/fairmont-crypto
[fairmont-process]:https://github.com/pandastrike/fairmont-process
[fairmont-filesystem]:https://github.com/pandastrike/fairmont-filesystem
[API Reference]:https://github.com/pandastrike/fairmont/wiki/API-Reference
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc