New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

stremio-api-client

Package Overview
Dependencies
Maintainers
1
Versions
26
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

stremio-api-client

Facilitates the connection between the `stremio-api` and Stremio, with extras such as user/add-on sync and persistence.

latest
Source
npmnpm
Version
1.6.0
Version published
Weekly downloads
20
-9.09%
Maintainers
1
Weekly downloads
 
Created
Source

stremio-api-client

Facilitates the connection between the stremio-api and Stremio, with extras such as user/add-on sync and persistence.

Contains two main modules:

StremioAPIClient

This is a stateless module to request the stremio-api

It's constructed like this:

var StremioAPIClient = require('stremio-api-client').StremioAPIClient
var API = new StremioAPIClient(options)

Options:

  • endpoint - URL to the API, default is https://api.strem.io

  • authKey - session auth key, default is null

Methods:

  • request(method, params) - returns a promise

StremioAPIStore

This is a stateful class that, when created, would take care of persistance and sync of the user and her add-ons collection

It's constructed like this:

var StremioAPIStore = require('stremio-api-client').StremioAPIStore
var APIStore = new StremioAPIStore(options)

Options:

  • endpoint - URL to the API, default is https://api.strem.io

  • storage - a storage object with synchronous getJSON and setJSON properties

Properties:

APIStore.user - User object

APIStore.addons - AddonCollection

Methods:

NOTE: All the methods return promises

APIStore.login({ email, password, fbLoginToken }) - logs in; fbLoginToken is optional

APIStore.register({ email, password }) - registers a new user

APIStore.logout() - logs out

All of the above 3 methods change API.user and therefore will emit (upon success) user-change

APIStore.pushUser() - pushes the local API.user to the API; requires to be logged in

APIStore.pullUser() - pull the latest user from the API; requires to be logged in

pullUser() may emit user-change if the remote user is more recent

APIStore.pushAddonCollection() - pushes local API.addons collection to the API (via addonCollectionSet); requires to be logged in

APIStore.pullAddonCollection() - pulls the remote add-on collection (via addonCollectionGet), may emit addons-change or addons-different

Events:

user-change: emitted when the User is changed (by ID, i.e. completely different user)

addons-change: emitted when the add-on set (AddonCollection) is changed

addons-different: emitted when the add-on collection is different (compared through transportUrls)

FAQs

Package last updated on 28 Apr 2020

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