ts-open-graph-scraper
Version:
Node.js scraper module for Open Graph and Twitter Card info, based on https://github.com/jshemas/openGraphScraper
32 lines (31 loc) • 1.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
function endsWith(input, suffix) {
return input.indexOf(suffix, input.length - suffix.length) !== -1;
}
exports.endsWith = endsWith;
function validate(inputUrl, _inputTimeout) {
var _a, _b, _c;
var returnInputUrl = null;
var returnInputTimeout = 2000;
if (validateInputs((_a = inputUrl) === null || _a === void 0 ? void 0 : _a.toString()))
returnInputUrl = validateUrl((_b = inputUrl) === null || _b === void 0 ? void 0 : _b.toString());
var inputTimeout = parseInt("" + _inputTimeout, 10);
if (validateInputs((_c = inputUrl) === null || _c === void 0 ? void 0 : _c.toString()) && validateTimeout(inputTimeout))
returnInputTimeout = inputTimeout;
return { returnInputUrl: returnInputUrl, returnInputTimeout: returnInputTimeout };
}
exports.validate = validate;
function validateInputs(input) {
return (!(input === null || typeof input === 'undefined' || !input || input.length < 1));
}
function validateUrl(inputUrl) {
return (!/^(f|ht)tps?:\/\//i.test(inputUrl)) ?
'http://' + inputUrl :
inputUrl;
}
function validateTimeout(inputTimeout) {
if (!/^\d{1,10}$/.test("" + inputTimeout))
return false;
return true;
}