Handy utils offers developers a powerful and easy-to-use toolset. With its clean, modular and scalable code structure, it accelerates development processes and reduces code complexity. With a wide range of functions, it offers ready-made methods for solving common problems.
## Installationnpm install @ahmetilhn/handy-utils
yarn add @ahmetilhn/handy-utils
Clone data from any data (disconnect any data binding)
deepClone(val: any): typeof val
const clonedVal = deepClone({ name: "test" });
expect(clonedVal).not.toBe({ name: "test" }); // reference equal
expect(clonedVal).toEqual(clonedVal); // soft equal
Wait for the execution process as long as you want
sleep(time: number): Promise<void>
// it should return true on node runtime
isServer(); // true
// it should return true on browser
isClient(); // true
const jobEverySecond = async () => {
// Codes
await sleep(1000); // sleep for 1 second
};
Checks the equality of two values.
isDeepEqual(valOne: any, valTwo: any): boolean
isDeepEqual(10, 10); // true
isDeepEqual("test", 1); // false
isDeepEqual(null, 1); // false
isDeepEqual(null, NaN); // false
isDeepEqual(NaN, NaN); // false
isDeepEqual({ name: "john" }, { name: "john" }); // true
isDeepEqual(["john"], ["john"]); // true
isDeepEqual([{ key: "value" }], [{ key: "value" }]); // true
Check if val is an object
isObject(val: any): boolean
isObject([]); // true
isObject(null); // false
isObject(undefined); // false
isObject(NaN); // false
isObject({}); //
isObject(new Date()); // true
Check if val is an date
isDate(val: any): boolean
isDate(Date); // false
isDate(null); // false
isDate("12-22-2023"); // false
isDate(new Date()); // true
Check if val is true or false (boolean)
isBoolean(val: any): boolean
isBoolean(null); // false
isBoolean(false); // true
isBoolean(true); // true
isBoolean(Boolean); // false
isBoolean(0); // false
Check if val is an array
isArray(val: any): boolean
isArray(null); // false
isArray({}); // false
isArray([]); // true
isArray(new Array([])); // true
Check if val is an number
isNumber(val: any): boolean
isNumber(null); // false
isNumber(NaN); // true
isNumber(1); // true
isNumber("1"); // false
Check if val is an function
isFunction(val: any): boolean
isFunction(NaN); // false
isFunction(() => {}); // true
Check if val isn't defined
isUndefined(val: any): boolean
const user = {
name: "John",
};
isUndefined(user.name); // false
isUndefined(user.lastName); // true
Check if val is defined
isDefined(val: any): boolean
const user = {
name: "John",
};
isDefined(user.name); // true
isDefined(user.lastName); // false
branches: 94 functions: 100 lines: 100 statements: 97
created by Ahmet ilhan