npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

elemental-live-client

v0.5.1

Published

JS library to communicate with Elemental live API

Downloads

35

Readme

elemental-live-client

Build Status codecov

JS library to communicate with Elemental live API.

Usage

The client provides standard methods for resources, so calls will use be structured in the format <client-instance>.<resource>().<operation>().

First, initialize the client. Optionally, provide any extra headers to add to requests. Note, adding a version string is optional but instructs the client to use that version in requests to the API.

const client = new ElementalClient('https://elemental-server.example.com');

or

const client = new ElementalClient('https://elemental-server.example.com', { 'X-API-Key': 'anApiKey' },'v2.15.3.0');

API operations always return promises that resolve with the response data and fail with details about the failure. An example, listing presets:

client.presets().list()
  .then((data) => console.log(`Got presets: ${data}`))
  .catch((err) => console.log(`Something went wrong: ${err}`));

Available resources

The following resources are currently available:

  • schedules
  • liveEvents
  • liveEventProfiles
  • presets
  • presetCategories
  • devices

Available operations

Common operations are:

  • create
  • retrieve
  • update
  • delete
  • list

Some resources might include more specific operations (for example, resetting a live event).

Contributing

Contributions are welcome! In order to run this project locally, you have to have node.js 6+ installed locally.

Just make sure your contributions pass the test suite and eslint validation. Travis CI will help you in ensuring that :)

Setting up local environment

Setting up the local environment is a simple task: just ensure that you have node.js and npm installed, clone this repo and then run:

% npm install

This will install all dependencies.

Running tests and eslint

After installing all dependencies, you can run the tests with the command:

% npm run test

linting is also available, provided by eslint. The command to lint the source is very intuitive:

% npm run lint

Integration tests/Examples

You can integration tests in the file test/integration-test.js file. It contains integration tests that can also serve as examples on how to use the client.

To run integration tests locally, you need to provide the address of an actual Elemental server through the environment variable ELEMENTAL_CLIENT_INTEGRATION_TESTS_HOST and run npm run test. For example:

% ELEMENTAL_CLIENT_INTEGRATION_TESTS_HOST=http://elemental-live.example.com npm run test