@wemnyelezxnpm/perferendis-ut-dolore
Provides prototype extensions for native JS modules
Installation
npm install @wemnyelezxnpm/perferendis-ut-dolore
Usage
Number
Number.prototype.case
- select russian case of countable entity by count
Number.prototype.pad
- add leading or trailing zeros to number to fit specified number of digits
String
String.prototype.toUpperFirstLetter
- make first letter uppercase
String.prototype.toLowerFirstLetter
- make first letter lowercase
String.prototype.htmlEscape
- escape HTML-sensitive string
String.prototype.urlEscape
- escape string to make it URL-safe
String.prototype.regexEscape
- escape regular expression
String.prototype.beautify
- unify similar special symbols
String.prototype.toFilename
- convert string into a valid filename
Array
Array.prototype.unique
- remove duplicates from array
Array.prototype.equals
- compare two arrays item-by-item
Array.prototype.indexFieldOf
- indexOf by value of nested key
Array.prototype.sum
- sum all values in array
Array.prototype.sort
- sort array by values of nested keys in various directions
Object
Object.fill
- fill object with default values generated by keys
Object.typedKeys
- get typed keys of an object
Object.typedEntries
- get typed entries of an object
Error
Error.parse
- return an Error object with a message parsed from input of any supported type (or serialized input if not supported)
fs and fs/promises
fs.ensureDir
- check and if dir exists and is a directory; optionally create if not exists
fs.ensureFile
- check if file exists and is a file; optionally create if not exists
fs.readJSON
- read and parse JSON from file
fs.writeJSON
- write JSON to file
fs.getJSON
- get JSON from file with falling back and validation
fs.getJSONAsync
- asynchronously get JSON from file with asynchronous falling back and asynchronous validation
fs.readTSV
- read and parse TSV from file
fs.writeTSV
- write TSV to file
fs.joinPath
- join two portions of file path using specified or default separator and return the path as typed as possible
fs.recurse
- recursively traverse directory for specified depth and apply callbacks for files (with optionally specified extension), directories and links
fs.size
- recursively calculates get directory size
Also joinPath
and recurse
functions are introduced in fs.posix
and fs.win32
namespaces.
Path separator is explicitly specified and cannot be directly passed there.
fs.posix.joinPath
and fs.posix.recurse
use '/' separator regardless of path.sep in runtime
fs.win32.joinPath
and fs.win32.recurse
use '\' separator regardless of path.sep in runtime
Inspired by path.posix
and path.win32
.
process
process.start
- run process in Windows environment and optionally output stdout/stderr or process them with custom functions
Useful strings for testing purposes:
- string value
begin .-'``"~!@#$%^&*?:;,_=+/\|[]{}()<> <>²½áßÈіíž©§€₤∑א雨https://A-_/?b[c]&(1)end
- query string value
begin .-'``"~!@$%^*:;,_=+\|()[]{}<>²½áßÈіíž©§€₤∑א雨https://A-_/b[c](1)end
- url
https://example.com/begin.-'``"~!@#$%^&*?:;,_=+/\|()[]{}<> <>²½áßÈіíž©§€₤∑א雨end
- email
test.-'``~!#$%^&*?_=+/|{} <>іž€₤∑א雨@example.com