You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
80 lines
1.5 KiB
80 lines
1.5 KiB
'use strict';
|
|
|
|
/**
|
|
* Module dependencies
|
|
*/
|
|
|
|
var utils = require('lazy-cache')(require);
|
|
|
|
/**
|
|
* Temporarily re-assign `require` to trick browserify and
|
|
* webpack into reconizing lazy dependencies.
|
|
*
|
|
* This tiny bit of ugliness has the huge dual advantage of
|
|
* only loading modules that are actually called at some
|
|
* point in the lifecycle of the application, whilst also
|
|
* allowing browserify and webpack to find modules that
|
|
* are depended on but never actually called.
|
|
*/
|
|
|
|
var fn = require;
|
|
require = utils;
|
|
|
|
/**
|
|
* Lazily required module dependencies
|
|
*/
|
|
|
|
require('JSONStream', 'JSONStream');
|
|
require('moment');
|
|
require('https');
|
|
require('stream');
|
|
require('url');
|
|
|
|
/**
|
|
* Restore `require`
|
|
*/
|
|
|
|
require = fn;
|
|
|
|
utils.arrayify = function(val) {
|
|
if (!val) return [];
|
|
return Array.isArray(val) ? val : [val];
|
|
};
|
|
|
|
utils.format = function (date) {
|
|
if (!utils.moment.isMoment(date)) {
|
|
date = utils.moment(date);
|
|
}
|
|
var year = date.utc().year();
|
|
var month = date.utc().month() + 1;
|
|
var day = date.utc().date();
|
|
|
|
return '' + year + '-' + utils.pad(month) + '-' + utils.pad(day);
|
|
};
|
|
|
|
utils.pad = function (num) {
|
|
return (num < 10 ? '0' : '') + num;
|
|
};
|
|
|
|
utils.formatNumber = function (num) {
|
|
num = '' + num;
|
|
var len = num.length;
|
|
if (len <= 3) return num;
|
|
var parts = len / 3;
|
|
var i = len % 3;
|
|
var first = '', last = '';
|
|
if (i === 0) {
|
|
i = 3;
|
|
}
|
|
first = num.substr(0, i);
|
|
last = num.substr(i);
|
|
var res = first + ',' + utils.formatNumber(last);
|
|
return res;
|
|
};
|
|
|
|
/**
|
|
* Expose `utils` modules
|
|
*/
|
|
|
|
module.exports = utils;
|
|
|
|
|