mirror of
				https://github.com/advplyr/audiobookshelf.git
				synced 2025-10-27 11:18:14 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			31 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 'use strict';
 | |
| 
 | |
| module.exports = (() => {
 | |
|     function convertSteps(expressions){
 | |
|         var stepValuePattern = /^(.+)\/(\w+)$/;
 | |
|         for(var i = 0; i < expressions.length; i++){
 | |
|             var match = stepValuePattern.exec(expressions[i]);
 | |
|             var isStepValue = match !== null && match.length > 0;
 | |
|             if(isStepValue){
 | |
|                 var baseDivider = match[2];
 | |
|                 if(isNaN(baseDivider)){
 | |
|                     throw baseDivider + ' is not a valid step value';
 | |
|                 }
 | |
|                 var values = match[1].split(',');
 | |
|                 var stepValues = [];
 | |
|                 var divider = parseInt(baseDivider, 10);
 | |
|                 for(var j = 0; j <= values.length; j++){
 | |
|                     var value = parseInt(values[j], 10);
 | |
|                     if(value % divider === 0){
 | |
|                         stepValues.push(value);
 | |
|                     }
 | |
|                 }
 | |
|                 expressions[i] = stepValues.join(',');
 | |
|             }
 | |
|         }
 | |
|         return expressions;
 | |
|     }
 | |
| 
 | |
|     return convertSteps;
 | |
| })();
 |