bkjs-utils
v0.2.10
Published
Utilities for node.js and backendjs
Downloads
17
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=XAuthor
Vlad Seryakov
