| 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. |