manga-parser
Version:
A parser for manga online sources
76 lines (59 loc) • 1.73 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.parseDateAgo = parseDateAgo;
exports.resetDateTime = resetDateTime;
exports.trimSpaces = trimSpaces;
exports.toString = toString;
exports.sanitizeUrlProtocol = sanitizeUrlProtocol;
var _moment = require('moment');
var _moment2 = _interopRequireDefault(_moment);
var _lodash = require('lodash');
var _lodash2 = _interopRequireDefault(_lodash);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* Parse string '8 months ago' to Date object
* @param {string} date in the format of '8 months ago'
* @returns {Date} Date object corresponding
*/
function parseDateAgo(date) {
let dateWords = date.toLowerCase().split(' ');
if (dateWords.length === 3) {
if (dateWords[1].substr(dateWords[1].length - 1) !== 's') {
dateWords[1] = dateWords[1] + 's';
}
let date = (0, _moment2.default)().subtract(parseInt(dateWords[0]), dateWords[1]);
date.millisecond(0).second(0).minute(0).hour(0);
return date.toDate();
}
return new Date(1970, 0, 1);
}
function resetDateTime(date) {
let momentDate = (0, _moment2.default)(date);
momentDate.millisecond(0).second(0).minute(0).hour(0);
return momentDate.toDate();
}
/**
* @param {string} str string to trim
* @returns {string}
*/
function trimSpaces(str) {
if (_lodash2.default.isString(str)) {
return str.trim().replace(/ +(?= )/g, '');
}
return str;
}
/**
* @param str
* @returns {string}
*/
function toString(str) {
return _lodash2.default.toString(str);
}
function sanitizeUrlProtocol(url) {
if (_lodash2.default.startsWith(url, '//')) {
return `http:${url}`;
}
return url;
}