OptiKit
An ultra-lightweight, high-performance, and fully tree-shakeable modern JavaScript/TypeScript utility library. Built with TypeScript, side-effects free, bundled into both ESM and CommonJS formats, and thoroughly unit tested.
Features
- ⚡️ Fully Tree-shakeable: Only bundlers include functions you actually import.
- 📦 Zero Dependencies: Pure, hand-optimized implementations for maximum performance.
- 🛡️ Type Safe: First-class TypeScript declaration support.
- 🌐 Dual Target: Supports ESM (
import) and CommonJS (require).
Installation
npm install @dev_x_mohit/opti-kit
Usage Examples
1. Type Guards
import { isNil, isObject, isDate } from '@dev_x_mohit/opti-kit';
isNil(null);
isObject({ a: 1 });
isObject([]);
isDate(new Date());
2. String Casing & Formatting
import { camelCase, kebabCase, snakeCase, escapeHtml } from '@dev_x_mohit/opti-kit';
camelCase('hello-world');
kebabCase('helloWorld');
snakeCase('helloWorld');
escapeHtml('<script>');
3. Array Operations
import { chunk, unique, groupBy, intersection } from '@dev_x_mohit/opti-kit';
chunk([1, 2, 3, 4], 2);
unique([1, 2, 2, 3]);
intersection([1, 2], [2, 3]);
groupBy([{g: 'A'}, {g: 'B'}], i => i.g);
4. Object Utilities
import { pick, omit, get, deepClone, deepMerge } from '@dev_x_mohit/opti-kit';
const obj = { a: { b: 42 }, c: 3 };
get(obj, 'a.b');
pick(obj, ['c']);
omit(obj, ['c']);
const clone = deepClone(obj);
5. Math Functions
import { clamp, lerp, round, mean } from '@dev_x_mohit/opti-kit';
clamp(15, 1, 10);
lerp(10, 20, 0.5);
round(1.2345, 2);
mean([1, 2, 3, 4]);
6. Async & Functional Control
import { delay, once, retry } from '@dev_x_mohit/opti-kit';
await delay(1000);
const init = once(() => console.log('Run only once!'));
init();
init();
const data = await retry(fetchData, 3, 500);
7. Date Tools
import { isLeapYear, relativeTime } from '@dev_x_mohit/opti-kit';
isLeapYear(2024);
relativeTime(new Date(Date.now() - 60000));
8. Color Conversions
import { hexToRgb, rgbToHex } from '@dev_x_mohit/opti-kit';
hexToRgb('#0080ff');
rgbToHex(255, 0, 100);
9. Validation Helpers
import { isEmail, isUrl, isUuid } from '@dev_x_mohit/opti-kit';
isEmail('test@domain.com');
isUrl('https://google.com');
isUuid('123e4567-e89b-12d3-a456-426614174000');
10. DOM / Isomorphic Utilities
import { copyToClipboard, getQueryParams } from '@dev_x_mohit/opti-kit';
await copyToClipboard('Hello Clipboard!');
getQueryParams('http://domain.com?user=mohit');
11. Hashing & Unique IDs (Crypto)
import { uuid, fnv1a } from '@dev_x_mohit/opti-kit';
uuid();
fnv1a('hello world');
12. safeStorage Wrapper
import { safeStorage } from '@dev_x_mohit/opti-kit';
safeStorage.setItem('session', { active: true }, 60000);
safeStorage.getItem('session');
13. Event Emitter (Pub/Sub)
import { EventEmitter } from '@dev_x_mohit/opti-kit';
const emitter = new EventEmitter();
emitter.on('login', (user) => console.log('Welcome back', user));
emitter.emit('login', 'Mohit');
Development
- Install dependencies:
npm install
- Run tests:
npm run test
- Build distribution assets:
npm run build
Publishing to NPM
Interactive Showcase & Author Portfolio