Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

strim-js

Package Overview
Dependencies
Maintainers
1
Versions
46
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

strim-js

Streaming Transports Relay Isomorphic Modules

  • 1.0.48
  • latest
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

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
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 be Environment.Client or Environment.Server).:
    • args: arguments that will be sent to the piped function.
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 for strim's endpoint.
    • modulesPath (Default 'node_modules'): The path to the directory of the modules.

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

FAQs

Package last updated on 23 May 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

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