UNPKG

@cisstech/nge

Version:

NG Essentials is a collection of libraries for Angular developers.

37 lines 4.47 kB
export function isNullOrEmpty(text) { return text == null || text.trim() === ''; } export function anyNullOrEmpty(...args) { if (args == null) { return true; } for (const e of args) { if (isNullOrEmpty(e)) { return true; } } return false; } export const urlPattern = '^(https?:\\/\\/)?' + // protocol '((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|' + // domain name '((\\d{1,3}\\.){3}\\d{1,3}))' + // OR ip (v4) address '(\\:\\d+)?(\\/[@-a-z\\d%_.~+]*)*' + // port and path '(\\?[;@&a-z\\d%_.~+=-]*)?' + // query string '(\\#[@-a-z\\d_]*)?$'; export function isURL(str) { // https://stackoverflow.com/questions/5717093/check-if-a-javascript-string-is-a-url const pattern = new RegExp(urlPattern, 'i'); // fragment locator return !!pattern.test(str); } export function hashCode(str) { let hash = 0; if (str.length === 0) return hash; for (let i = 0; i < str.length; i++) { const char = str.charCodeAt(i); hash = (hash << 5) - hash + char; hash = hash & hash; // Convert to 32bit integer } return hash; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nZS91dGlscy9zcmMvc3RyaW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsYUFBYSxDQUFDLElBQVk7SUFDeEMsT0FBTyxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUE7QUFDM0MsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsR0FBRyxJQUFjO0lBQzlDLElBQUksSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ2pCLE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUNELEtBQUssTUFBTSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNyQixPQUFPLElBQUksQ0FBQTtRQUNiLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUE7QUFDZCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUNyQixtQkFBbUIsR0FBRyxXQUFXO0lBQ2pDLGtEQUFrRCxHQUFHLGNBQWM7SUFDbkUsNkJBQTZCLEdBQUcscUJBQXFCO0lBQ3JELGtDQUFrQyxHQUFHLGdCQUFnQjtJQUNyRCwyQkFBMkIsR0FBRyxlQUFlO0lBQzdDLHFCQUFxQixDQUFBO0FBRXZCLE1BQU0sVUFBVSxLQUFLLENBQUMsR0FBVztJQUMvQixvRkFBb0Y7SUFDcEYsTUFBTSxPQUFPLEdBQUcsSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFBLENBQUMsbUJBQW1CO0lBQy9ELE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7QUFDNUIsQ0FBQztBQUVELE1BQU0sVUFBVSxRQUFRLENBQUMsR0FBVztJQUNsQyxJQUFJLElBQUksR0FBRyxDQUFDLENBQUE7SUFDWixJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssQ0FBQztRQUFFLE9BQU8sSUFBSSxDQUFBO0lBQ2pDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDcEMsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUM5QixJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQTtRQUNoQyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQSxDQUFDLDJCQUEyQjtJQUNoRCxDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUE7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGlzTnVsbE9yRW1wdHkodGV4dDogc3RyaW5nKSB7XG4gIHJldHVybiB0ZXh0ID09IG51bGwgfHwgdGV4dC50cmltKCkgPT09ICcnXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhbnlOdWxsT3JFbXB0eSguLi5hcmdzOiBzdHJpbmdbXSkge1xuICBpZiAoYXJncyA9PSBudWxsKSB7XG4gICAgcmV0dXJuIHRydWVcbiAgfVxuICBmb3IgKGNvbnN0IGUgb2YgYXJncykge1xuICAgIGlmIChpc051bGxPckVtcHR5KGUpKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgfVxuICByZXR1cm4gZmFsc2Vcbn1cblxuZXhwb3J0IGNvbnN0IHVybFBhdHRlcm4gPVxuICAnXihodHRwcz86XFxcXC9cXFxcLyk/JyArIC8vIHByb3RvY29sXG4gICcoKChbYS16XFxcXGRdKFthLXpcXFxcZC1dKlthLXpcXFxcZF0pKilcXFxcLikrW2Etel17Mix9fCcgKyAvLyBkb21haW4gbmFtZVxuICAnKChcXFxcZHsxLDN9XFxcXC4pezN9XFxcXGR7MSwzfSkpJyArIC8vIE9SIGlwICh2NCkgYWRkcmVzc1xuICAnKFxcXFw6XFxcXGQrKT8oXFxcXC9bQC1hLXpcXFxcZCVfLn4rXSopKicgKyAvLyBwb3J0IGFuZCBwYXRoXG4gICcoXFxcXD9bO0AmYS16XFxcXGQlXy5+Kz0tXSopPycgKyAvLyBxdWVyeSBzdHJpbmdcbiAgJyhcXFxcI1tALWEtelxcXFxkX10qKT8kJ1xuXG5leHBvcnQgZnVuY3Rpb24gaXNVUkwoc3RyOiBzdHJpbmcpIHtcbiAgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNTcxNzA5My9jaGVjay1pZi1hLWphdmFzY3JpcHQtc3RyaW5nLWlzLWEtdXJsXG4gIGNvbnN0IHBhdHRlcm4gPSBuZXcgUmVnRXhwKHVybFBhdHRlcm4sICdpJykgLy8gZnJhZ21lbnQgbG9jYXRvclxuICByZXR1cm4gISFwYXR0ZXJuLnRlc3Qoc3RyKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaGFzaENvZGUoc3RyOiBzdHJpbmcpIHtcbiAgbGV0IGhhc2ggPSAwXG4gIGlmIChzdHIubGVuZ3RoID09PSAwKSByZXR1cm4gaGFzaFxuICBmb3IgKGxldCBpID0gMDsgaSA8IHN0ci5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGNoYXIgPSBzdHIuY2hhckNvZGVBdChpKVxuICAgIGhhc2ggPSAoaGFzaCA8PCA1KSAtIGhhc2ggKyBjaGFyXG4gICAgaGFzaCA9IGhhc2ggJiBoYXNoIC8vIENvbnZlcnQgdG8gMzJiaXQgaW50ZWdlclxuICB9XG4gIHJldHVybiBoYXNoXG59XG4iXX0=