my-easy-fp Utility Functions

0.23.0 · active · verified Sun Apr 19

my-easy-fp is a JavaScript and TypeScript utility library providing a collection of focused, single-purpose functions for common programming tasks. It covers categories such as boolean logic, array manipulation (e.g., `chunk`, `populate`, `last`), comprehensive empty/null/undefined checks, miscellaneous helpers like `getRandomRange`, and an asynchronous `sleep` function. The library also ships with several custom TypeScript utility types to enhance type safety. Currently at version `0.23.0`, `my-easy-fp` is actively developed under a `0.x` versioning scheme, indicating that its API is subject to change as it approaches a stable 1.0 release. It is designed to be compatible with both browser and Node.js environments (requiring Node.js >=20), offering a lightweight alternative to larger utility frameworks. Its key differentiators include built-in TypeScript support and a modular design, making it suitable for projects needing specific utilities without extensive bundle size.

Common errors

Warnings

Install

Imports

Quickstart

Demonstrates basic usage of `my-easy-fp` utilities for array manipulation, comprehensive empty/null/undefined checks, asynchronous delays, and random number generation.

import { chunk, sleep, isComplexEmpty, populate, getRandomRangeInt } from 'my-easy-fp';

async function main() {
  console.log('--- Array Utilities ---');
  const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
  const chunked = chunk(numbers, 3);
  console.log('Chunked array:', chunked); // [[1,2,3], [4,5,6], [7,8,9], [10]]

  const populated = populate(5);
  console.log('Populated array (0-based):', populated); // [0, 1, 2, 3, 4]
  const populatedOneBased = populate(3, true);
  console.log('Populated array (1-based):', populatedOneBased); // [1, 2, 3]

  console.log('\n--- Empty Checks ---');
  console.log('Is null complex empty?', isComplexEmpty(null)); // true
  console.log('Is empty string complex empty?', isComplexEmpty('')); // true
  console.log('Is [] complex empty?', isComplexEmpty([])); // true
  console.log('Is {} complex empty?', isComplexEmpty({})); // true
  console.log('Is 0 complex empty?', isComplexEmpty(0)); // true (due to isNaN check)
  console.log('Is "hello" complex empty?', isComplexEmpty('hello')); // false

  console.log('\n--- Async Utility ---');
  console.log('Starting sleep for 1 second...');
  await sleep(1000);
  console.log('...Finished sleeping.');

  console.log('\n--- Misc Utility ---');
  const randomNumber = getRandomRangeInt(1, 100);
  console.log('Random integer between 1 and 100:', randomNumber);
}

main().catch(console.error);

view raw JSON →