mirror of
				https://github.com/advplyr/audiobookshelf.git
				synced 2025-10-31 10:27:01 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			70 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| "use strict";
 | |
| 
 | |
| const { existsSync } = require("graceful-fs");
 | |
| 
 | |
| const validateSize = (s) => {
 | |
|     if (typeof s !== "number") {
 | |
|         throw new TypeError("Size must be a number");
 | |
|     } else if (s <= 0) {
 | |
|         throw new RangeError("Size must be greater than zero");
 | |
|     }
 | |
| 
 | |
|     return s;
 | |
| };
 | |
| 
 | |
| const validateName = (n) => {
 | |
|     if (typeof n !== "string") {
 | |
|         throw new TypeError("Name must be a string");
 | |
|     } else if (n.trim().length <= 0) {
 | |
|         throw new Error("Name must be a non-blank string")
 | |
|     }
 | |
| 
 | |
|     return n;
 | |
| };
 | |
| 
 | |
| const validatePath = (p) => {
 | |
|     if (typeof p !== "string") {
 | |
|         throw new TypeError("Path must be a string");
 | |
|     } else if (p.trim().length <= 0) {
 | |
|         throw new Error("Path must be a non-blank string");
 | |
|     } else if (!existsSync(p)) {
 | |
|         throw new Error("Path does not exist");
 | |
|     }
 | |
| 
 | |
|     return p;
 | |
| };
 | |
| 
 | |
| const validateArray = (a) => {
 | |
|     if (!Array.isArray(a)) {
 | |
|         throw new TypeError("Not an array");
 | |
|     }
 | |
| 
 | |
|     return a;
 | |
| };
 | |
| 
 | |
| const validateObject = (o) => {
 | |
|     if (typeof o !== "object") {
 | |
|         throw new TypeError("Not an object");
 | |
|     }
 | |
| 
 | |
|     return o;
 | |
| };
 | |
| 
 | |
| const validateFunction = (f) => {
 | |
|     if (typeof f !== "function") {
 | |
|         throw new TypeError("Not a function")
 | |
|     }
 | |
|     // } else {
 | |
|     //     const fString = f.toString();
 | |
|     //     if (/\s*function/.test(fString) && !/\W+return\W+/.test(fString)) throw new Error("Function must return a value");
 | |
|     // }
 | |
| 
 | |
|     return f;
 | |
| }
 | |
| 
 | |
| exports.validateSize = validateSize;
 | |
| exports.validateName = validateName;
 | |
| exports.validatePath = validatePath;
 | |
| exports.validateArray = validateArray;
 | |
| exports.validateObject = validateObject;
 | |
| exports.validateFunction = validateFunction; |