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

djia

v1.3.1

Published

The most recent Dow Jones opening for a date.

Downloads

35

Readme

djia

Get the opening Dow Jones Industrial Average for a date, or the most recent opening if the market is closed for that day.

It fetches data from a web service, with the option to cache the results for future requests.

I use this for xkcd Geohashing.

NPM Build Status js-standard-style Greenkeeper badge

Install

npm install djia

Usage

import djia from 'djia'

djia('2015-03-27', (err, value) => {
    // err: null
    // value: 17673.63
})

djia('1900-01-01', (err) => {
    // err: [Error: date too much in the past]
})

djia('2999-01-01', (err) => {
    // err: [Error: data not available yet]
})

// Cache the result in $HOME/.config/djia
djia({date: '2015-03-27' cache: true}, (err, value) => {})

// Cache it in your current directory
djia({date: '2015-03-27' cache: process.cwd()}, (err, value) => {})

API

djia(options, callback)

options (YYYY-MM-DD formatted date string or object)

The first paramter is either a YYYY-MM-DD date string or an object of options.

options.date (required, YYYY-MM-DD formatted date string)

If you are using the object form, then pass in the formatted date string using the date key.

options.cache (optional, can be true or path to cache directory/file in node or cache prefix in the browser)

Since the fetched data will never change (it is only for the opening value), it can make sense to cache it. There are slight differences in how this works if you are using it in the browser vs Node.

Node If you pass in true then a cache directory will be created for you at $HOME/.config/djia. You can also pass in a path to your own cache directory or a .json file, and they will be created if they do not exist. If your path ends in .json thats where the cache will be, otherwise it is assumed you are passing in a direcotry and the path will be DIRECTORY/djia_cache.json.

Browser It will use localforage to cache everything. If you pass in true then each key will be prefixed with djia_, otherwise pass in a string and it will use that. The key format is PREFIX_DATE.

callback(err, value)

err will be an Error object with a message most likely from the web service. value will be the Dow Jones opening value as a number.

Contributing

This is written in ES6 and compiled to ES5 using babel. The code you require will come from the lib/ directory which gets compiled from src/ before each npm publish.

Tests

npm test

License

MIT