strim-js v1.0.48
STRIM 🌊
Streaming Transports Relay Isomorphic Modules
Installation
npm i -S strim-js
or
yarn add strim-js
Usage
Write a module in your modules directory
// myModules/myAmazingModule/package.json
// myModules/myAmazingModule/index.js
Server side (only if you need to run some of your modules on the server)
// server.js
const http = require('http')
const express = require('express')
const { setStrimModules, setWs } = require('strim-js/dist/strimModules');
const app = express()
setStrimModules(app, { modulesPath: './myStrimModules' });
const httpServer = http.createServer(app);
setWs(httpServer);
httpServer.listen(80);
Client side
// client.js
Full Example
import Strim from 'strim-js'
new Strim()
.pipe({
module: 'myAmazingModule',
func: 'get',
args: [1, 2, 4],
})
.toServer()
.pipe({
module: 'myAmazingModule',
func: 'runningSum',
})
.subscribe(
value => {
console.log('Current Value:', value)
},
err => {
console.error('Error Occurred:', err)
},
() => {
console.log('Done')
},
)
API
Strim
The core class which activates the strim
flow
Strim instance public methods
constructor(options)
- options: An object containing general
strim
options.- wsUrl (Default
'ws://localhost:4321/strim'
): The websocket url.: - modulesDir: define where the modules directory
- wsUrl (Default
pipe(options)
- options: An object containing piped function options.
- module (Default
'global'
): The module name that will be imported for use of the pipe. - func (Default
'default'
): The function name within the module.: - env (Default
last func's environment
): The environment in which we want the function to run in (can beEnvironment.Client
orEnvironment.Server
).: - args: arguments that will be sent to the piped function.
- module (Default
toClient(worker)
- worker (Default
false
): Whether to open in a worker or not.
toServer(worker)
- worker (Default
false
): Whether to open in a worker or not.
subscribe(onNext, onError, onComplete)
- onNext (Default
console.log
): callback function that will occur every time a new value is received. - onError (Default
console.error
): callback function that will occur when an error is received. - onComplete: callback function that will occur the strim is complete.
setStrimModules(app, options)
- app: The Express application to set up
strim
on. - options (Optional): An object containing further options.
- wsRoute (Default
'/strim'
): The route path forstrim
's endpoint. - modulesPath (Default
'node_modules'
): The path to the directory of the modules.
- wsRoute (Default
Development
This module is written as part of Wix guild week, we'll be happy to have people help.
just clone the repo, yarn
and yarn test
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago