sh.misc-tools
v0.5.0
Published
A collection of various tools for e.g. network or file operations.
Downloads
1
Maintainers
Readme
misc-tools
A collection of tools that are needed every now and then. Some tools are just (modern async) wrappers around existing tools.
Install via npm
npm install sh.misc-tools
Included Tools
This package includes tools as I needed them, so it is in no way complete. Currently, this collection includes the following:
- Extensions for package
sh.orchestration-tools
(npm install sh.orchestration-tools
):Calendar
,CalendarError
,CalendarEventSimple
,CalendarScheduler
,symbolCalendarEvent
: These can be used with the scheduler in sh.orchestration-tools for scheduling events that are sourced from an iCal-calendar (from file or, e.g, online, like google calendar or nextcloud).
- FTP-Tools (note the returned Client is the instance of the package
ftp
):async connectFtp(options) => Promise.<Client>
async mkdirFtp(client, directory, recursive = true) => Promise.<Client>
async uploadFtpFile(client, localFile, remoteFile, mkdirP = true) => Promise.<Client>
async connectFtpUploadClose(opts, localFile, remoteFile, mkdirP = true) => Promise.<void>
Connect to server, upload the file, disconnectasync listFtpDir(client, dir, useComp) => Promise.<Array.<Client.ListingElement>>
async getFtpFile(client, file, useComp) => Promise.<NodeJS.ReadableStream>
async cwdFtp(client, wd) => Promise.<void>
Change working dirasync pwdFtp() => Promise.<string>
Get current working dir
- Network-Tools:
async pingPort(host, port, timeout = 500, family = 4) => Promise.<void>
Attempts to open a Socket tohost:port
and resolves if it worked withintimeout
; rejects, otherwise.async tryPingPort(host, port, timeout = 500, family = 4) => Promise.<boolean>
Like 'pingPort()', but always resolves with aboolean
.
- Miscellaneous-Tools:
async timeout(milliSeconds) => Promise.<void>
async attempt.<T>(asyncFn, maxNumTries = 3, timeoutMsecs = -1) => Promise.<T>
Attempts another async function for the given amount of times with an optional timeout in between
- FS-Tools:
async probeDir(dir) => Promise.<Array.<string>>
Checks if a directory is readable and returns the contained files/foldersasync moveFileByCopy(src, dst) => Promise.<void>
async renameFile(src, dst) => Promise.<void>
async unlinkFile(src) => Promise.<void>