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.
		
		
		
		
		
			
		
			
				
					
					
						
							22 lines
						
					
					
						
							1.0 KiB
						
					
					
				
			
		
		
	
	
							22 lines
						
					
					
						
							1.0 KiB
						
					
					
				| "use strict";
 | |
| 
 | |
| Object.defineProperty(exports, "__esModule", {
 | |
|   value: true
 | |
| });
 | |
| exports.propertyKeyRegex = void 0;
 | |
| 
 | |
| var _constants = require("./constants");
 | |
| 
 | |
| // this is the regex used to find all existing properties starting with a key
 | |
| const propertyKeyRegex = (propertyPath, options) => {
 | |
|   const delimiter = new RegExp(`\\${_constants.DELIMITER}`, 'g');
 | |
|   const escapedDelimiter = `\\${_constants.DELIMITER}`; // but for `nested.1.property.0` it will produce `nested(\.|\.\d+\.)1(\.|\.\d+\.)property.0`
 | |
|   // and this is intentional because user can give an one index in property path for with deeply
 | |
|   // nested arrays
 | |
| 
 | |
|   const escapedDelimiterOrIndex = `(${escapedDelimiter}|${escapedDelimiter}\\d+${escapedDelimiter})`;
 | |
|   const path = options !== null && options !== void 0 && options.includeAllSiblings ? propertyPath.replace(delimiter, escapedDelimiterOrIndex) : propertyPath.replace(delimiter, escapedDelimiter);
 | |
|   return new RegExp(`^${path}($|${escapedDelimiter})`, '');
 | |
| };
 | |
| 
 | |
| exports.propertyKeyRegex = propertyKeyRegex; |