New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

askument

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

askument

If argument is not present ask for it. Returns a promise.

  • 1.0.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
0
decreased by-100%
Maintainers
1
Weekly downloads
 
Created
Source

askument

If argument is not present ask for it. Returns a promise.

Install

npm install --save askument

Usage

  • Will ask for missing param 'id':
const params = {}
const promise = askument('id', 'Provide an ID:', params) // asks: Provide an ID:
  • Will ask default question for missing param 'id':
const params = {}
const promise = askument('id', params) // asks: id?
  • Will resolve to existing value without asking:
const params = {id: 'xer389i9ads8'}
const promise = askument('id', 'Provide an ID:', params) // doesn't ask, resolves to 'xer389i9ads8'

Plays well with minimist

askument is a good companion for minimist. See both of them in action:

const args = require('minimist')(process.argv.slice(2))
const askument = require('askument')

// ask for id if not set in arguments, or resolve to provided value when set
askument('id', args).then((id) => {
  console.log(`Provided ID: ${id}`)
})

Resolving multiple arguments

When you want to get multiple arguments you need to ensure they run in series because you can't read from the command line more than once at a time. Luckily for us there's p-series, a good friend of askument, which will help us get each argument in series.

Example:

const promises = [
  () => askument('id', args),
  () => askument('range', args),
  () => askument('title', args)
]

// Ensure we get required arguments resolving promises in series.
series(promises).then((results) => {
  const id = results[0]
  const range = results[1]
  const title = results[2]
  console.log('- Provided ID:', id)
  console.log('- Provided Range:', range)
  console.log('- Provided Title:', title)
})

Why?

I wanted a dead simple way to ensure an argument is provided letting the user input it interactively instead of displaying the typical usage description.

Keywords

FAQs

Package last updated on 12 Feb 2017

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc