mori
react-websocket
Our great sponsors
mori | react-websocket | |
---|---|---|
5 | 1 | |
3,388 | 351 | |
- | - | |
0.0 | 0.0 | |
about 4 years ago | about 2 years ago | |
Clojure | JavaScript | |
- | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
mori
-
Om but in javascript
immutable-js or mori for immutable data structures
-
How to handle "mutable state" in a pure functional way
Use persistent immutable data structures (as implemented in, for instance, mori or Immutable.js) to represent the state. As much as possible, push calculations into referentially transparent functions (i.e., input depends purely on output) which take persistent data. Write the interactions with the real world in imperative style.
- Understanding Clojure's Persistent Vectors (2013)
-
Immutable.js is not dead!
Mori
-
Functional Programming with Javascript | Introduction
Always make immutable variables. You can achieve this by having a persistence data structure using Mori or immutable.js libraries to open the features such as linked list, trees, path dealing to help with efficiency. I will not be covering how to create a persistence data structure using those libraries as it’s not the scope of this post.
react-websocket
-
WebSocket connection between reactjs Client and flask-socketio Server doesn't open
from flask_socketio import SocketIO, emitapp = Flask(__name__)app.config['SECRET_KEY'] = 'secret!'socketio = SocketIO(app)... # Server functionality for receiving and storing data from elsewhere, not related to the websocket# Handle the webapp connecting to the [email protected]('connect')def test_connect(): print('someone connected to websocket') emit('responseMessage', {'data': 'Connected! ayy'})# Handle the webapp connecting to the websocket, including namespace for [email protected]('connect', namespace='/devices')def test_connect2(): print('someone connected to websocket!') emit('responseMessage', {'data': 'Connected! ayy'})# Handle the webapp sending a message to the [email protected]('message')def handle_message(): print('someone sent to the websocket')# Handle the webapp sending a message to the websocket, including namespace for [email protected]('message', namespace='/devices')def handle_message2(): print('someone sent to the websocket!')@socketio.on_error_default # handles all namespaces without an explicit error handlerdef default_error_handler(e): print('An error occured:') print(e)if __name__ == '__main__': socketio.run(app, debug=True, host='0.0.0.0') For the front end, I initially tried using a library as well. I went with react-websocket.
What are some alternatives?
immutable-js - Immutable persistent data collections for Javascript which increase efficiency and simplicity.
JSON-Schema Faker - JSON-Schema + fake data generators
Immer - Create the next immutable state by mutating the current one
hashmap - HashMap JavaScript class for Node.js and the browser. The keys can be anything and won't be stringified
ramda - :ram: Practical functional Javascript
lodash - A modern JavaScript utility library delivering modularity, performance, & extras.
schemapack - Create a schema object to encode/decode your JSON in to a compact byte buffer with no overhead.
underscore-contrib - The brass buckles on Underscore's utility belt
object-path - A tiny JavaScript utility to access deep properties using a path (for Node and the Browser)
buckets - A complete, fully tested and documented data structure library written in pure JavaScript.