@kba/utils
v0.12.1
Published
Utility methods on values I use all the time
Downloads
14
Readme
js-utils
@kba/utils
- urlJoin(...args)
- truthy(val)
- jsonify(obj)
- randomInt(low, int)
- deansi(str)
- verticalConcat(...strs)
- promisify(callback)
- splitArray(arr, splitel=';')
- promiseSerial(funcs)
- shortenOutput(data, max=10)
- parseURL(...args)
- lastUrlSegment(url, removeTrailing=false)
- randomString({prefix='', template='', length=-1})
- uniq(arr)
- traverse
- deepmerge
- idiomaticFetch
- splitOnce(str, sep, rightMost=false)
- ensureArray(arg)
- new StrictEventEmitter(events=, LOGEVENTS=false)
- new MultiIndex()
- rexcape(str)
@kba/node-utils
@kba/utils
urlJoin(...args)
Join a base URI and possibly empty path segments
truthy(val)
Return whether a value should be interpreted as boolean true
.
jsonify(obj)
Clone an object by serializing and deserializing to/from JSON
randomInt(low, int)
A random integer between low
and high
deansi(str)
Remove ANSI color sequences from str
.
verticalConcat(...strs)
promisify(callback)
splitArray(arr, splitel=';')
Split an array into sub-arrays delimited by element splitel
promiseSerial(funcs)
resolves Promises sequentially. https://hackernoon.com/functional-javascript-resolving-promises-sequentially-7aac18c4431e
shortenOutput(data, max=10)
Shorten data
to a maximum of max
characters.
parseURL(...args)
lastUrlSegment(url, removeTrailing=false)
Returns the last segment of a URL
randomString({prefix='', template='', length=-1})
Generate a URL-friendly random string.
Template must have at least 3 X
in a row
uniq(arr)
Return unique literals in arr.
traverse
deepmerge
idiomaticFetch
idiomaticFetch(url, options={}, format='json')
idiomaticFetch(url, format='json')
### splitOnce(str, sep, rightMost=false)
Split `str` at the first occurence of `sep`.
### ensureArray(arg)
Ensure that arg is an array or a wrap it in one if it is not.
### new StrictEventEmitter(events=[], LOGEVENTS=false)
Strict eventemitter that allows only defined events and optionally logs emit/on calls
### new MultiIndex()
Index values by chains of keys. Useful to find object by key-value pairs
they contain.
### rexcape(str)
Escape regexp metacharacters
<!-- END-RENDER -->
## `@kba/node-utils`
All methods from [`@kba/utils`](#kbautils) and in addition:
<!-- BEGIN-RENDER ./node-utils/node-utils.js -->
### inspect(obj)
### inspect.log(obj)
### relativizeFile(relPath, absPath
### mkdir(dir, opts)
Recursively create `dir`.
@return promise
### rmdir(dir, opts)
Recursively remove `dir`.
@return promise
### uploadFile({filepath, endpoint, metadata})
### FormData
[form-data](https://github.com/form-data/form-data)
### fetch(...args)
[fetch-ponyfill](https://github.com/qubyte/fetch-ponyfill)
### corsMiddleware(opts)
@return middleware that adds `Access-Control` headers.
If `opts.allowOrigin` is `origin`, this will mirror the request header `Origin`.
### nedbCollectionRouteHandler(opts)
Generate a handler suitable for a GET query on the root of a nedb collection.
@param {DataStore} opts.collection collection to query
@param {Promise} postProcess augment results
@param {Object} projection for query results
@param {String} defaultSort default sort. Default: modified.desc
@param {String} regexify whether to turn string regexes into real regexes for $regex
query fields
@param {String} dateify whether to turn string ISO dates into Date objects
### idiomaticFetch (node)
Like browser idiomaticFetch but with proxy
<!-- END-RENDER -->