The purpose of this library is combine utils functions in one place

Content
getRandomArrayItem
const { getRandomArrayItem } = require('sat-utils');
const firstItem = getRandomArrayItem([1, 2, 3, 4]);
const [first, second] = getRandomArrayItem([1, 2, 3, 4], 2);
getRandomArrayItem([1, 2, 3, 4], 10);
getRandomArrayItem([]);
getRandomArrayItem(null);
getRandomString
const { getRandomString } = require('sat-utils');
const str1 = getRandomString(5);
const str2 = getRandomString(5, { numbers: true });
const str3 = getRandomString(5, { lettersAndNumbers: true });
const str4 = getRandomString(5, { symbols: true });
const str5 = getRandomString(5, { lettersNumbersAndSymbols: true });
const str6 = getRandomString(5, { lowerCase: true });
sleep
const { sleep } = require('sat-utils');
async function test() {
await sleep(2500);
}
isArray
const { isArray } = require('sat-utils');
isArray(undefined);
isObject
const { isObject } = require('sat-utils');
isObject(undefined);
isRegExp
const { isRegExp } = require('sat-utils');
isRegExp(/a/gi);
isNull
const { isNull } = require('sat-utils');
isNull(undefined);
isString
const { isString } = require('sat-utils');
isString(undefined);
isSet
const { isSet } = require('sat-utils');
isSet(undefined);
isMap
const { isMap } = require('sat-utils');
isMap(undefined);
isUndefined
const { isUndefined } = require('sat-utils');
isUndefined(undefined);
isNumber
const { isNumber } = require('sat-utils');
isNumber(undefined);
isPromise
const { isPromise } = require('sat-utils');
isPromise(undefined);
isBuffer
const { isBuffer } = require('sat-utils');
isBuffer(undefined);
isBoolean
const { isBoolean } = require('sat-utils');
isBoolean(undefined);
isSymbol
const { isSymbol } = require('sat-utils');
isSymbol(undefined);
isFunction
const { isFunction } = require('sat-utils');
isFunction(undefined);
isDate
const { isDate } = require('sat-utils');
isDate(new Date());
isArguments
const { isArguments } = require('sat-utils');
isArguments(new Date());
isAsyncFunction
const { isAsyncFunction } = require('sat-utils');
isAsyncFunction(undefined);
isType
const { isType } = require('sat-utils');
isType(undefined, 'function');
getType
const { getType } = require('sat-utils');
getType(undefined);
isPrimitive
const { isPrimitive } = require('sat-utils');
isPrimitive(undefined);
canBeProxed
const { canBeProxed } = require('sat-utils');
canBeProxed(undefined);
toArray
const { toArray } = require('sat-utils');
const arr1 = toArray(undefined);
const arr2 = toArray(null);
const arr3 = toArray([1, 2, 3]);
shuffleArr
const { shuffleArr } = require('sat-utils');
const arr1 = shuffleArr([2, 3, 1]);
shuffleArr({});
shuffleArrMutable
const { shuffleArrMutable } = require('sat-utils');
const arr = [1, 2, 3, 4, 5];
shuffleArrMutable(arr);
console.log(arr);
shuffleArrMutable({});
prettifyCamelCase
const { prettifyCamelCase } = require('sat-utils');
const res1 = prettifyCamelCase(str);
const res2 = prettifyCamelCase(str, { joinWords: '__' });
const res3 = prettifyCamelCase(str, { allUpperCase: true, joinWords: '_' });
const res4 = prettifyCamelCase(str, { firstWordUpperCase: true });
isEmptyArray
const { isEmptyArray } = require('sat-utils');
const isEmpty = isEmptyArray([]);
const isEmpty1 = isEmptyArray([1]);
const isEmpty2 = isEmptyArray(null);
const isEmpty3 = isEmptyArray({});
isNotEmptyArray
const { isNotEmptyArray } = require('sat-utils');
const isEmpty = isNotEmptyArray([]);
const isEmpty1 = isNotEmptyArray([1]);
const isEmpty2 = isNotEmptyArray(null);
const isEmpty3 = isNotEmptyArray({});
isEmptyObject
const { isEmptyObject } = require('sat-utils');
const isEmpty = isEmptyObject({});
const isEmpty1 = isEmptyObject({ a: 1 });
const isEmpty2 = isEmptyObject([]);
const isEmpty3 = isEmptyObject([1]);
const isEmpty4 = isEmptyObject(null);
isEmptyObject
const { isNotEmptyObject } = require('sat-utils');
const isEmpty = isNotEmptyObject({});
const isEmpty1 = isNotEmptyObject({ a: 1 });
const isEmpty2 = isNotEmptyObject([]);
const isEmpty3 = isNotEmptyObject([1]);
const isEmpty4 = isNotEmptyObject(null);
execNumberExpression
const { execNumberExpression } = require('sat-utils');
const isTruly = execNumberExpression('>10', 11);
const isTruly1 = execNumberExpression('>10 and <12', 11);
const isTruly2 = execNumberExpression('>10 and <13 and !== 12', 11);
const isTruly3 = execNumberExpression('<9', 11);
const isTruly4 = execNumberExpression('!==11', 11);
getDirFilesList
const { getDirFilesList } = require('sat-utils');
const files = getDirFilesList('./node_modules');
safeJSONstringify
const { safeJSONstringify } = require('sat-utils');
console.log(safeJSONstringify({}));
console.log(safeJSONstringify(Object));
console.log(safeJSONstringify(new Proxy()));
safeJSONparse
const { safeJSONparse } = require('sat-utils');
console.log(safeJSONparse('{}'));
console.log(safeJSONstringify('dsadas dasda', {}));
camelize
const { camelize } = require('sat-utils');
console.log(camelize('here is my camel string'));
safeHasOwnPropery
const { safeHasOwnPropery } = require('sat-utils');
safeHasOwnPropery({ a: 1 }, 'a');
safeHasOwnPropery({ a: 1 }, 'b');
safeHasOwnPropery(undefined, 'b');
safeHasOwnPropery(null, 'b');
safeHasOwnPropery(function test() {
}, 'name');
chunkArr
const { chunkArr } = require('sat-utils');
chunkArr([1, 2, 3], 2);
chunkArr([1, 2, 3], 2, true);
millisecondsToMinutes
const { millisecondsToMinutes } = require('sat-utils');
millisecondsToMinutes(100_000);
getRandomSubString
const { getRandomSubString } = require('sat-utils');
getRandomSubString('abcdefgj', 3);
millisecondsToMinutes
const { millisecondsToMinutes } = require('sat-utils');
millisecondsToMinutes(100_000);
lengthToIndexesArray
const { lengthToIndexesArray } = require('sat-utils');
lengthToIndexesArray(3);
getRandomNumberFromRange
const { getRandomNumberFromRange } = require('sat-utils');
getRandomNumberFromRange(1, 10);
asyncRepeat
const { asyncRepeat } = require('sat-utils');
asyncRepeat(5, async () => {
});
asyncMap
const { asyncMap } = require('sat-utils');
asyncMap([1, 2, 3], async (item, index, arr) => item + index).then(console.log);
asyncForEach
const { asyncForEach } = require('sat-utils');
asyncForEach([1, 2, 3], async (item, index, arr) => console.log(item, index, arr));
asyncReduce
const { asyncReduce } = require('sat-utils');
asyncReduce([1, 2, 3], (acc, item) => new Promise(res => setTimeout(() => res(acc + item), 25)), 1).then(console.log);
getStringEqualtyPersentage
const { getStringEqualtyPersentage } = require('sat-utils');
const percentage = getStringEqualtyPersentage('asd', 'asd');
stringifyData
const { stringifyData } = require('sat-utils');
const obj = {
b: [{ b: 1 }],
c: {
c: () => console.log('stringifyData'),
},
};
const str = stringifyData(data);