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.
		
		
		
		
		
			
		
			
				
					41 lines
				
				1.1 KiB
			
		
		
			
		
	
	
					41 lines
				
				1.1 KiB
			| 
											3 years ago
										 | "use strict"; | ||
|  | /** | ||
|  |  * Returns true if the string matches the specified shell | ||
|  |  * expression. | ||
|  |  * | ||
|  |  * Actually, currently the patterns are shell expressions, | ||
|  |  * not regular expressions. | ||
|  |  * | ||
|  |  * Examples: | ||
|  |  * | ||
|  |  * ``` js
 | ||
|  |  * shExpMatch("http://home.netscape.com/people/ari/index.html", "*\/ari/*") | ||
|  |  *   // is true.
 | ||
|  |  * | ||
|  |  * shExpMatch("http://home.netscape.com/people/montulli/index.html", "*\/ari/*") | ||
|  |  *   // is false.
 | ||
|  |  * ```
 | ||
|  |  * | ||
|  |  * @param {String} str is any string to compare (e.g. the URL, or the hostname). | ||
|  |  * @param {String} shexp is a shell expression to compare against. | ||
|  |  * @return {Boolean} true if the string matches the shell expression. | ||
|  |  */ | ||
|  | Object.defineProperty(exports, "__esModule", { value: true }); | ||
|  | function shExpMatch(str, shexp) { | ||
|  |     const re = toRegExp(shexp); | ||
|  |     return re.test(str); | ||
|  | } | ||
|  | exports.default = shExpMatch; | ||
|  | /** | ||
|  |  * Converts a "shell expression" to a JavaScript RegExp. | ||
|  |  * | ||
|  |  * @api private | ||
|  |  */ | ||
|  | function toRegExp(str) { | ||
|  |     str = String(str) | ||
|  |         .replace(/\./g, '\\.') | ||
|  |         .replace(/\?/g, '.') | ||
|  |         .replace(/\*/g, '.*'); | ||
|  |     return new RegExp(`^${str}$`); | ||
|  | } | ||
|  | //# sourceMappingURL=shExpMatch.js.map
 |