Merge commit '381f30129d' into development-GUI
				
					
				
			This commit is contained in:
		
						commit
						fcfb747e3f
					
				
					 1 changed files with 40 additions and 0 deletions
				
			
		
							
								
								
									
										40
									
								
								scripts/utils/nested.js
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								scripts/utils/nested.js
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,40 @@ | |||
| class nested {} | ||||
| 
 | ||||
| nested.dictionary = class dictionary { | ||||
|      /*  | ||||
|      Get the data from the dictionary. | ||||
| 
 | ||||
|      @param {object} data the data to be used | ||||
|      @param {string} path the path to the data | ||||
|      @return {object} the data | ||||
|      */ | ||||
|      static get(data, path) { | ||||
|           let DATA = data; | ||||
| 
 | ||||
|           // Set the path. 
 | ||||
|           let PATH = {}; | ||||
|           PATH[`all`] = (Array.isArray(path)) | ||||
|                ? path | ||||
|                : (path && (typeof path).includes(`str`)) ? path.trim().split(`,`) : []; | ||||
| 
 | ||||
|           // Pull the data out.
 | ||||
|           if (DATA != null && DATA != undefined && PATH[`all`].length) { | ||||
|                PATH[`remain`] = PATH[`all`]; | ||||
|                PATH[`selected`] = String(PATH[`remain`].shift()).trim(); | ||||
| 
 | ||||
|                // Get the selected data.
 | ||||
|                DATA = DATA[PATH[`selected`]]; | ||||
| 
 | ||||
|                // must run if there is actually a parameter to test
 | ||||
|                if (PATH[`remain`].length > 0) { | ||||
|                     // Recursively run to make use of the existing data.
 | ||||
|                     DATA = nested.dictionary.get(DATA, PATH[`remain`]); | ||||
|                }; | ||||
|           }; | ||||
| 
 | ||||
|           // Now return the data.
 | ||||
|           return DATA; | ||||
|      } | ||||
| } | ||||
| 
 | ||||
| export {nested as default}; | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue