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

nomadeducation

v0.7.2

Published

Javascript SDK to interact with the Nomad Education API

Downloads

17

Readme

Web/Node.js SDK

Build Status Coverage Status Known Vulnerabilities

This package is used to call our latest API.

Installation

Execute the following in your favorite terminal:

# yarn
yarn add nomadeducation
# npm
npm install --save nomadeducation

Usage

The SDK is exporting its object Nomad using the UMD format. In the browser context, it'll therefore be attached to the window object.

Example

const Nomad = require("nomadeducation");
// even though this SDK is primarily targeting the browser
// you can also use it on Node.js by using the following line instead
// const Nomad = require("nomadeducation/dist/node");

const client = new Nomad({
    // the client uses our latest endpoint by default
    base_url: "https://api.nomadeducation.com/v2",
    // you can (optionally) use your own API key.
    // Note that you won't have to log into our system then
    api_key: "d6921bc91cd2470e6a265974d4d9c47a",
    // sometimes your request can take more time than estimated
    disable_timeout: true,
    // you can set your own error handler that'll be triggered with the argument
    error_handler: (err) => console.log(err.code, err.message, err.details),
});

async function publicMethods () {
    // if you don't use your API key, you can still login using your credentials
    // Beware that this must be the first action before calling any other methods
    // you can extend your session up to 5 days if you pass `true` as the third parameter
    await client.login("myUsername", "myPassword", extendedSession = true);

    // now you can consume the API
    // the library will throw errors if you don't have enough permissions

    // once you've finished, you can explicitely logged out
    const isLoggedOut = await client.logout();
}

// the library also exposes utility functions:
// - determine the version used
const version = Nomad.version();
// - monitor the API status
const status = Nomad.health();

Reference

Check the documentation to get the entire reference.

Testing

Prerequisites: you'll have to add your credentials (Travis CI will use the "test" account):

echo '{"username": "test", "password": "TEST_PW"}' > test/account.json

Do not forget to launch the Kane API locally before testing!

Then execute the following commands to test the SDK:

yarn install --frozen-lockfile
yarn test

This will launch tests directly on the production API. If you want to launch your tests locally, you can use:

yarn test:dev

You can also invoke the debugger. It'll wait on the first line while you're not attached:

# you can debug either using the production env...
yarn test:debug
# ...or locally!
yarn test:dev:debug

Linting

Made using eslint. To enforce rules to be applied, use yarn lint:fix.