forked from mirrors/gecko-dev
		
	 fefc790575
			
		
	
	
		fefc790575
		
	
	
	
	
		
			
			Remove transitive dependency on `ChromeUtils` that is causing this error. Differential Revision: https://phabricator.services.mozilla.com/D208380
		
			
				
	
	
		
			24 lines
		
	
	
	
		
			739 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
	
		
			739 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /* This Source Code Form is subject to the terms of the Mozilla Public
 | |
|  * License, v. 2.0. If a copy of the MPL was not distributed with this
 | |
|  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 | |
| 
 | |
| /**
 | |
|  * Escape special characters for regular expressions from a string.
 | |
|  *
 | |
|  * @param {string} string
 | |
|  *   The string to sanitize.
 | |
|  * @returns {string} The sanitized string.
 | |
|  */
 | |
| export function escapeRegExp(string) {
 | |
|   return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
 | |
| }
 | |
| 
 | |
| /**
 | |
|  * Search a tab list for items that match the given query.
 | |
|  */
 | |
| export function searchTabList(query, tabList) {
 | |
|   const regex = RegExp(escapeRegExp(query), "i");
 | |
|   return tabList.filter(
 | |
|     ({ title, url }) => regex.test(title) || regex.test(url)
 | |
|   );
 | |
| }
 |