aboutsummaryrefslogtreecommitdiffstats
path: root/vnfmarket/src/main/webapp/vnfmarket/node_modules/dateformat/bin/cli.js
blob: e095ddc68e500a319f029ec768d372b2c1252f03 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#!/usr/bin/env node
/**
 * dateformat <https://github.com/felixge/node-dateformat>
 *
 * Copyright (c) 2014 Charlike Mike Reagent (cli), contributors.
 * Released under the MIT license.
 */

'use strict';

/**
 * Module dependencies.
 */

var dateFormat = require('../lib/dateformat');
var meow = require('meow');
var stdin = require('get-stdin');

var cli = meow({
  pkg: '../package.json',
  help: [
    'Options',
    '  --help          Show this help',
    '  --version       Current version of package',
    '  -d | --date     Date that want to format (Date object as Number or String)',
    '  -m | --mask     Mask that will use to format the date',
    '  -u | --utc      Convert local time to UTC time or use `UTC:` prefix in mask',
    '  -g | --gmt      You can use `GMT:` prefix in mask',
    '',
    'Usage',
    '  dateformat [date] [mask]',
    '  dateformat "Nov 26 2014" "fullDate"',
    '  dateformat 1416985417095 "dddd, mmmm dS, yyyy, h:MM:ss TT"',
    '  dateformat 1315361943159 "W"',
    '  dateformat "UTC:h:MM:ss TT Z"',
    '  dateformat "longTime" true',
    '  dateformat "longTime" false true',
    '  dateformat "Jun 9 2007" "fullDate" true',
    '  date +%s | dateformat',
    ''
  ].join('\n')
})

var date = cli.input[0] || cli.flags.d || cli.flags.date || Date.now();
var mask = cli.input[1] || cli.flags.m || cli.flags.mask || dateFormat.masks.default;
var utc = cli.input[2] || cli.flags.u || cli.flags.utc || false;
var gmt = cli.input[3] || cli.flags.g || cli.flags.gmt || false;

utc = utc === 'true' ? true : false;
gmt = gmt === 'true' ? true : false;

if (!cli.input.length) {
  stdin(function(date) {
    console.log(dateFormat(date, dateFormat.masks.default, utc, gmt));
  });
  return;
}

if (cli.input.length === 1 && date) {
  mask = date;
  date = Date.now();
  console.log(dateFormat(date, mask, utc, gmt));
  return;
}

if (cli.input.length >= 2 && date && mask) {
  if (mask === 'true' || mask === 'false') {
    utc = mask === 'true' ? true : false;
    gmt = !utc;
    mask = date
    date = Date.now();
  }
  console.log(dateFormat(date, mask, utc, gmt));
  return;
}