| Index: lib/domain.js |
| =================================================================== |
| --- a/lib/domain.js |
| +++ b/lib/domain.js |
| @@ -35,16 +35,29 @@ |
| for (let key in publicSuffixes) |
| map.set(key, publicSuffixes[key]); |
| return map; |
| } |
| /** |
| + * Normalizes a hostname. |
| + * @param {string} hostname |
| + * @returns {string} |
| + */ |
| +function normalizeHostname(hostname) |
| +{ |
| + return (hostname[hostname.length - 1] == "." ? |
| + hostname.replace(/\.+$/, "") : hostname).toLowerCase(); |
| +} |
| + |
| +exports.normalizeHostname = normalizeHostname; |
| + |
| +/** |
| * Yields all suffixes for a domain. For example, given the domain |
| * <code>www.example.com</code>, this function yields |
| * <code>www.example.com</code>, <code>example.com</code>, and |
| * <code>com</code>, in that order. |
| * |
| * @param {string} domain The domain. |
| * @param {boolean} [includeBlank] Whether to include the blank suffix at the |
| * end. |