UNPKG

744 BJavaScriptView Raw
1'use strict'
2const commandLineArgs = require('../')
3
4/* demonstrates a custom `type` function which returns a class instance */
5
6class FileDetails {
7 constructor (filename) {
8 const fs = require('fs')
9 this.filename = filename
10 this.exists = fs.existsSync(filename)
11 }
12}
13
14const optionDefinitions = [
15 {
16 name: 'file',
17 multiple: true,
18 defaultOption: true,
19 type: filename => new FileDetails(filename)
20 },
21 { name: 'depth', type: Number }
22]
23
24const options = commandLineArgs(optionDefinitions)
25
26console.log(options)
27
28/*
29Example output:
30
31$ node example/type.js package.json nothing.js
32{ file:
33 [ FileDetails { filename: 'package.json', exists: true },
34 FileDetails { filename: 'nothing.js', exists: false } ] }
35*/