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

aestimia-client

v0.1.4

Published

A client for the Aestimia API

Downloads

4

Readme

Aestimia Client

An Aestimia API Client

Usage

var aestimia = require('aestimia-client')({
  // The Aestimia server URL (REQUIRED)
  endpoint: 'http://example.org/aestimia',
  // Aestimia authentication secret (REQUIRED)
  secret: '<secret key>',

  // Minimum word count required for valid application descriptions
  minWords: 10,
  // List of responses to use in sensitive-applicant situations
  cannedResponses: [
    'Response 1',
    'Response 2',
    // ...
    'Response n'
  ],
  // Logging callback function
  logger: function (data) { console.dir(data); }
});

aestimia.submit(application, function(err, id) {
  if (err) {
    // do something with the error
  }
  
  // do something with the application ID
});

aestimia.update(application, function(err, status) {
  if (err) {
    // do something with the error
  }
  
  // do something with application status
  /*
    {
      review: <latest review>,
      accepted: <boolean>
    }
  */
})

Expectations

The following 'interfaces' are expected when using an Aestimia client. All fields and methods are required, unless otherwise stated.

Application:

  • description
    description of application (or full body, if a simple text-based application)
  • submissionId
    submission ID of application, if already submitted (as returned by a successful submit)
  • getApplicant
    returns an <Applicant> object, via callback (err, applicant)
  • getBadge
    returns the <Badge> object being applied for, via callback (err, badge)
  • getCallbackUrl
    returns a fully formed URL to be hit by Aestimia service when application status changes
  • getCriteriaUrl
    returns a fully formed URL pointing to the criteria of this application
  • getEvidence
    returns an array of <Evidence> objects, via callback (err, evidence)

Applicant:

  • email
    the email address of the applicant (not required)
  • sensitive
    a boolean value indicating whether this a 'sensitive' applicant, e.g. a young learner. If this is true, canned responses will be displayed to the auditor, and any email address will be withheld.

Badge:

  • categories
    an array of 'tags' (not required)
  • description
    a description of the badge
  • image
    a fully formed URL pointing to the badge's image
  • name
    the name of the badge
  • rubric
    the badge's evaluation rubric (not required) - see Badge API docs

Evidence:

  • description
    a description of the evidence (not required)
  • mediaType
    an identifier for the file type
  • getUrl
    returns a fully formed URL where the item can be found in its raw form