UNPKG

manga-parser

Version:
76 lines (59 loc) 1.73 kB
'use strict'; 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; }