HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux wordpress-ubuntu-s-2vcpu-4gb-fra1-01 5.4.0-169-generic #187-Ubuntu SMP Thu Nov 23 14:52:28 UTC 2023 x86_64
User: root (0)
PHP: 7.4.33
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/tana/frontend/node_modules/vinyl-ftp/index.d.ts
declare module "vinyl-ftp" {
    import * as vinyl from 'vinyl';

    namespace VinylFtp {

        interface FtpConfiguration {
            /**
             * FTP host
             * @default localhost
             */
            host?: string,

            /**
             * FTP user
             * @default anonymous
             */
            user?: string,

            /**
             * FTP password
             * @default anonymous@
             */
            password?: string,

            /**
             * FTP port
             * @default 21
             */
            port?: number,

            /**
             * Log function
             * @default null
             */
            log?: (message?: any, ...optionalParams: any[]) => void,

            /**
             * Offset server time by this number of minutes
             * @default 0
             */
            timeOffset?: number,
            /**
             * Number of parallel transfers
             * @default 3
             */
            parallel?: number,

            /**
             * Maximum number of connections, should be greater or equal to "parallel". Default is 5, or the parallel setting. 
             * Don't worry about setting this too high, vinyl-ftp recovers from "Too many connections" errors nicely.
             * @default 5
             */
            maxConnections?: number

            /**
             * Clear caches before (each) stream
             * @default false
             */
            reload?: boolean,

            /**
             * Time to keep idle FTP connections (milliseconds)
             * @default 100
             */
            idleTimeout?: number,

            /**
             * A debug callback that gets extensive debug information
             * @default null
             */
            debug?: (...params: any[]) => void,

            /**
             * Set true for secured FTP connections
             * @default false
             */
            secure?: boolean,

            /**
             * Security Options
             */
            secureOptions?: SecureOptions
        }

        interface SecureOptions {
            /**
             * Set false for self-signed or expired secure FTP connections 
             */
            rejectUnauthorized: boolean
        }

        interface FtpOptions {
            /**
             * Set as file.cwd.
             * @default /
             */
            cwd?: string,

            /**
             * Set as file.base, default is glob beginning.
             * This is used to determine the file names when saving in .dest().
             */
            base?: string,

            /**
             * Only emit files modified after this date.
             */
            since?: Date,

            /**
             * Should the file be buffered (complete download) before emitting.
             * @default true
             */
            buffer?: boolean

            /**
             * Should the file be read. False will emit null files.
             * @default true
             */
            read?: boolean
        }

        interface FtpFile extends vinyl {
            ftp: {
                name: string,
                size: number,
                date: Date,
                type: string
            }
        }

        /**
         * A function to filter remote and local files.
         * Decide wether localFile should be emitted and invoke callback with boolean.
         * @param localFile The local file.
         * @param remoteFile The remote file.
         * @param callback The callback function.
         */
        type FilterFunction = ( localFile: vinyl, remoteFile: FtpFile, callback : FilterFunctionCallback) => void;

        /**
         * Callback function for the FilterFunction.
         * @param error Set to null if there is no error.
         * @param emit Set to true if the local file should be emitted.
         */
        type FilterFunctionCallback = (error: any, emit: boolean) => void;

        /**
         * Callback function for the delete operations.
         * @param error Set to null if there is no error.
         */
        type DeleteCallback = (error: any) => void;

        class FtpConnection {
            constructor(config?: FtpConfiguration);

            static create(config?: FtpConfiguration): FtpConnection;

            /**
             * Returns a vinyl file stream that emits remote files matched by the given globs. The remote files have a file.ftp property containing remote information.
             * @param globs Takes a glob string or an array of glob strings as the first argument.
             * Globs are executed in order, so negations should follow positive globs.
             * fs.src(['!b*.js', '*.js']) would not exclude any files, but this would: fs.src(['*.js', '!b*.js']).
             * @param options Vinyl FTP source options, changes the way the files are read, found, or stored in the vinyl stream.
             */
            src(globs: string | string[], options?: FtpOptions): NodeJS.ReadWriteStream;

            /**
             * Returns a transform stream that transfers input files to a remote folder. All directories are created automatically. Passes input files through.
             * @param remoteFolder The remote folder to deploy to.
             * @param options Vinyl FTP source options, changes the way the files are read, found, or stored in the vinyl stream.
             */
            dest(remoteFolder: string, options?: FtpOptions): NodeJS.ReadWriteStream;

            /**
             * Returns a transform stream that sets remote file permissions for each file.
             * @param remoteFolder The remote folder to deploy to.
             * @param mode Permission, must be between '0000' and '0777'.
             * @param options Vinyl FTP source options, changes the way the files are read, found, or stored in the vinyl stream.
             */
            mode(remoteFolder: string, mode: string, options?: FtpOptions): NodeJS.ReadWriteStream;

            /**
             * Returns a transform stream which filters the input for files which are newer than their remote counterpart.
             * @param remoteFolder The remote folder to deploy to.
             * @param options Vinyl FTP source options, changes the way the files are read, found, or stored in the vinyl stream.
             */
            newer(remoteFolder: string, options?: FtpOptions): NodeJS.ReadWriteStream;

            /**
             * Returns a transform stream which filters the input for files which have a different file size than their remote counterpart.
             * @param remoteFolder The remote folder to deploy to.
             * @param options Vinyl FTP source options, changes the way the files are read, found, or stored in the vinyl stream.
             */
            differentSize(remoteFolder: string, options?: FtpOptions): NodeJS.ReadWriteStream;

            /**
             * Returns a transform stream which filters the input for files which have a different file size or are newer than their remote counterpart.
             * @param remoteFolder The remote folder to deploy to.
             * @param options Vinyl FTP source options, changes the way the files are read, found, or stored in the vinyl stream.
             */
            newerOrDifferentSize(remoteFolder: string, options?: FtpOptions): NodeJS.ReadWriteStream;

            /**
             * Returns a transform stream that filters the input using a callback.
             * @param remoteFolder The remote folder to deploy to.
             * @param filter Filter function.
             * @param options Vinyl FTP source options, changes the way the files are read, found, or stored in the vinyl stream.
             */
            filter(remoteFolder: string, filter: FilterFunction, options?: FtpOptions): NodeJS.ReadWriteStream;

            /**
             * Deletes a file.
             * @param path The path to the remote file.
             * @param cb Callback when the file has been deleted.
             */
            delete(path: string, cb: DeleteCallback): void;

            /**
             * Removes a directory, recursively.
             * @param path The path to the remote directory.
             * @param cb Callback when the file has been deleted.
             */
            rmdir(path: string, cb: DeleteCallback): void;

            /**
             * Globs remote files, tests if they are locally available at <local>/<remote.relative> and removes them if not.
             * @param globs Takes a glob string or an array of glob strings as the first argument.
             * Globs are executed in order, so negations should follow positive globs.
             * fs.src(['!b*.js', '*.js']) would not exclude any files, but this would: fs.src(['*.js', '!b*.js']).
             * @param local Local folder to compare against.
             * @param options Vinyl FTP source options, changes the way the files are read, found, or stored in the vinyl stream.
             */
            clean(globs: string | string[], local: string, options?: FtpOptions): NodeJS.ReadWriteStream;
        }
    }

    export = VinylFtp.FtpConnection;
}