HEX
Server: nginx/1.18.0
System: Linux test-ipsremont 5.4.0-214-generic #234-Ubuntu SMP Fri Mar 14 23:50:27 UTC 2025 x86_64
User: ips (1000)
PHP: 8.0.30
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/quadcode.com/node_modules/sander/src/methodMakers/standardMethod.js
import * as fs from 'graceful-fs';
import resolvePath from '../utils/resolvePath';

function normaliseArguments ( args ) {
	const len = args.length;

	let buildingPath = true;
	let pathargs = [];
	let normalised = [ null ]; // null is a placeholder for the resolved path
	let i;

	for ( i = 0; i < len; i += 1 ) {
		if ( buildingPath && typeof args[i] === 'string' ) {
			pathargs[i] = args[i];
		} else {
			buildingPath = false;
			normalised.push( args[i] );
		}
	}

	normalised[0] = resolvePath( pathargs );

	return normalised;
}

export function asyncMethod ( methodName ) {
	return function () {
		const args = normaliseArguments( arguments );

		return new Promise( ( fulfil, reject ) => {
			args.push( ( err, result ) => {
				if ( err ) {
					reject( err );
				} else {
					fulfil( result );
				}
			});

			fs[ methodName ].apply( fs, args );
		});
	};
}

export function syncMethod ( methodName ) {
	return function () {
		const args = normaliseArguments( arguments );
		return fs[ methodName ].apply( fs, args );
	};
}