You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					40 lines
				
				1.2 KiB
			
		
		
			
		
	
	
					40 lines
				
				1.2 KiB
			| 
								 
											3 years ago
										 
									 | 
							
								"use strict";
							 | 
						||
| 
								 | 
							
								Object.defineProperty(exports, "__esModule", { value: true });
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * Is true if the hostname matches exactly the specified hostname, or if there is
							 | 
						||
| 
								 | 
							
								 * no domain name part in the hostname, but the unqualified hostname matches.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Examples:
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * ``` js
							 | 
						||
| 
								 | 
							
								 * localHostOrDomainIs("www.netscape.com", "www.netscape.com")
							 | 
						||
| 
								 | 
							
								 *   // is true (exact match).
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * localHostOrDomainIs("www", "www.netscape.com")
							 | 
						||
| 
								 | 
							
								 *   // is true (hostname match, domain not specified).
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * localHostOrDomainIs("www.mcom.com", "www.netscape.com")
							 | 
						||
| 
								 | 
							
								 *   // is false (domain name mismatch).
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * localHostOrDomainIs("home.netscape.com", "www.netscape.com")
							 | 
						||
| 
								 | 
							
								 *   // is false (hostname mismatch).
							 | 
						||
| 
								 | 
							
								 * ```
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * @param {String} host the hostname from the URL.
							 | 
						||
| 
								 | 
							
								 * @param {String} hostdom fully qualified hostname to match against.
							 | 
						||
| 
								 | 
							
								 * @return {Boolean}
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								function localHostOrDomainIs(host, hostdom) {
							 | 
						||
| 
								 | 
							
								    const parts = host.split('.');
							 | 
						||
| 
								 | 
							
								    const domparts = hostdom.split('.');
							 | 
						||
| 
								 | 
							
								    let matches = true;
							 | 
						||
| 
								 | 
							
								    for (let i = 0; i < parts.length; i++) {
							 | 
						||
| 
								 | 
							
								        if (parts[i] !== domparts[i]) {
							 | 
						||
| 
								 | 
							
								            matches = false;
							 | 
						||
| 
								 | 
							
								            break;
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    return matches;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								exports.default = localHostOrDomainIs;
							 | 
						||
| 
								 | 
							
								//# sourceMappingURL=localHostOrDomainIs.js.map
							 |