sh.misc-tools

0.5.0 • Public • Published

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 Current Version

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, disconnect
    • async listFtpDir(client, dir, useComp) => Promise.<Array.<Client.ListingElement>>
    • async getFtpFile(client, file, useComp) => Promise.<NodeJS.ReadableStream>
    • async cwdFtp(client, wd) => Promise.<void> Change working dir
    • async pwdFtp() => Promise.<string> Get current working dir
  • Network-Tools:
    • async pingPort(host, port, timeout = 500, family = 4) => Promise.<void> Attempts to open a Socket to host:port and resolves if it worked within timeout; rejects, otherwise.
    • async tryPingPort(host, port, timeout = 500, family = 4) => Promise.<boolean> Like 'pingPort()', but always resolves with a boolean.
  • 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/folders
    • async moveFileByCopy(src, dst) => Promise.<void>
    • async renameFile(src, dst) => Promise.<void>
    • async unlinkFile(src) => Promise.<void>

Dependencies (4)

Dev Dependencies (2)

Package Sidebar

Install

npm i sh.misc-tools

Weekly Downloads

1

Version

0.5.0

License

MIT

Unpacked Size

57.5 kB

Total Files

10

Last publish

Collaborators

  • shoenel