58 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			58 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								"use strict";
							 | 
						||
| 
								 | 
							
								Object.defineProperty(exports, "__esModule", { value: true });
							 | 
						||
| 
								 | 
							
								exports.fixEPERMSync = exports.fixEPERM = void 0;
							 | 
						||
| 
								 | 
							
								const fs_js_1 = require("./fs.js");
							 | 
						||
| 
								 | 
							
								const { chmod } = fs_js_1.promises;
							 | 
						||
| 
								 | 
							
								const fixEPERM = (fn) => async (path) => {
							 | 
						||
| 
								 | 
							
								    try {
							 | 
						||
| 
								 | 
							
								        return await fn(path);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    catch (er) {
							 | 
						||
| 
								 | 
							
								        const fer = er;
							 | 
						||
| 
								 | 
							
								        if (fer?.code === 'ENOENT') {
							 | 
						||
| 
								 | 
							
								            return;
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        if (fer?.code === 'EPERM') {
							 | 
						||
| 
								 | 
							
								            try {
							 | 
						||
| 
								 | 
							
								                await chmod(path, 0o666);
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            catch (er2) {
							 | 
						||
| 
								 | 
							
								                const fer2 = er2;
							 | 
						||
| 
								 | 
							
								                if (fer2?.code === 'ENOENT') {
							 | 
						||
| 
								 | 
							
								                    return;
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								                throw er;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            return await fn(path);
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        throw er;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								exports.fixEPERM = fixEPERM;
							 | 
						||
| 
								 | 
							
								const fixEPERMSync = (fn) => (path) => {
							 | 
						||
| 
								 | 
							
								    try {
							 | 
						||
| 
								 | 
							
								        return fn(path);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    catch (er) {
							 | 
						||
| 
								 | 
							
								        const fer = er;
							 | 
						||
| 
								 | 
							
								        if (fer?.code === 'ENOENT') {
							 | 
						||
| 
								 | 
							
								            return;
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        if (fer?.code === 'EPERM') {
							 | 
						||
| 
								 | 
							
								            try {
							 | 
						||
| 
								 | 
							
								                (0, fs_js_1.chmodSync)(path, 0o666);
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            catch (er2) {
							 | 
						||
| 
								 | 
							
								                const fer2 = er2;
							 | 
						||
| 
								 | 
							
								                if (fer2?.code === 'ENOENT') {
							 | 
						||
| 
								 | 
							
								                    return;
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								                throw er;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            return fn(path);
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        throw er;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								exports.fixEPERMSync = fixEPERMSync;
							 | 
						||
| 
								 | 
							
								//# sourceMappingURL=fix-eperm.js.map
							 |