UNPKG

npm

Version:

a package manager for JavaScript

54 lines 1.71 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.escapeHtml = escapeHtml; exports.spanAllZeroes = spanAllZeroes; exports.spanAll = spanAll; exports.spanLeadingZeroes = spanLeadingZeroes; exports.simpleGroup = simpleGroup; function escapeHtml(s) { return s .replace(/&/g, '&amp;') .replace(/</g, '&lt;') .replace(/>/g, '&gt;') .replace(/"/g, '&quot;') .replace(/'/g, '&#39;'); } /** * @returns {String} the string with all zeroes contained in a <span> */ function spanAllZeroes(s) { return escapeHtml(s).replace(/(0+)/g, '<span class="zero">$1</span>'); } /** * @returns {String} the string with each character contained in a <span> */ function spanAll(s, offset = 0) { const letters = s.split(''); return letters .map((n, i) => `<span class="digit value-${escapeHtml(n)} position-${i + offset}">${spanAllZeroes(n)}</span>`) .join(''); } function spanLeadingZeroesSimple(group) { return escapeHtml(group).replace(/^(0+)/, '<span class="zero">$1</span>'); } /** * @returns {String} the string with leading zeroes contained in a <span> */ function spanLeadingZeroes(address) { const groups = address.split(':'); return groups.map((g) => spanLeadingZeroesSimple(g)).join(':'); } /** * Groups an address * @returns {String} a grouped address */ function simpleGroup(addressString, offset = 0) { const groups = addressString.split(':'); return groups.map((g, i) => { if (/group-v4/.test(g)) { return g; } return `<span class="hover-group group-${i + offset}">${spanLeadingZeroesSimple(g)}</span>`; }); } //# sourceMappingURL=helpers.js.map