bkjs-utils
v0.2.10
Published
Utilities for node.js and backendjs
Downloads
22
Readme
Utilities module for node and backendjs
Usage
splitArray(str)
- split a string into an array separated by commas, supports quoted stringscountWords(word, text)
- return how many time word appears in the text, uses Knuth-Morris-Pratt algorithmcountAllWords(list, text)
- return an object with counters for each word from the list, i.e. how many times each word appears in the text, uses Aho-Corasick algorithmcountWordsInit()
- clears word counting cachesnappyCompress(str)
- compress a stringsnappyUncompress(str)
- decompress a stringzlibCompress(str)
- compress a stringzlibUncompress(str)
- decompress a stringunzip(zipfile, outdir)
- extract a zip archive into directoryunzipFile(zipfile, file [, outfile])
- extract a file from zip archive, return contents if no outfile s specifiedzipFiles(zipfile)
- return a slist of all files in the zip archiverun(command, callback)
- run shell command and return all output to the callbackgetUser([user])
- return an object with user info from the /etc/passwd file, user can be uid or namegetGroup([group])
- return an object with specified group info for the current user of for the given group id or name- Geohash support
geoDistance(lat1, lon1, lat2, lon2)
- return distance between 2 coordinates in kmgeoBoundingBox(lat, lon, distance)
- return bounding box geohash for given point around distancegeoHashEncode(lat, lon, len)
- return geohash for given coordinate, len defines number of bytesin geohashgeoHashDecode(hash)
- return coordinates for given geohashgeoHashAdjacent(geohash, dir)
- return adjacent boxes for the given base in the given direction, dir is one of top,left,right,bottomgeoHashGrid(geoshash, steps)
- return grid of all neighboring boxes around the center, steps defines how many boxes in each direction from the center. With steps = 1 the returned matrix is 3x3geoHashRow(geohash, steps)
- same as grid but returns only one row, i.e. left of right of the center
initBusy(ms)
- setup busy monitor to track if incoming requests processing takes longer than given period in millisecondsisBusy()
- return true if currently request processing takes longer than configured intervalgetBusy()
- returns current lag for processing requestsgetTimeOfDay([type])
- return current time in microseconds, if type == 1 returns ad double seconds.microseconds, if type == 2 returns an object { tv_sec: T, tv_usec: U }
Notes
For whatever reason npm exits with error gyp: name 'openssl_fips' is not defined......
run it as
npm i bkjs-utils --openssl_fips=X
Author
Vlad Seryakov