@@ -4,11 +4,16 @@ A modern, performance-focused alternative to Lodash.
4
4
5
5
## Features
6
6
7
- - 🚀 ** ES Module Only** : Built for modern JavaScript, optimized for tree-shaking
8
- - ⚡️ ** High Performance** : Consistently faster than Lodash in benchmarks (verified with Vitest)
9
- - 🔄 ** Drop-in Replacement** : 100% compatible with Lodash's interface and behavior
10
- - 🎯 ** Type Safety** : Written in TypeScript with complete type definitions
11
- - 📦 ** Subpath Imports** : Granular imports for minimal bundle size
7
+ - 🚀 ** ES Module Only** : Built for modern JavaScript, optimized for tree-shaking
8
+ - ⚡️ ** High Performance** : Consistently faster than Lodash in benchmarks (verified with Vitest)
9
+ - 🔄 ** Drop-in Replacement** : 100% compatible with Lodash's interface and behavior
10
+ - 🎯 ** Type Safety** : Written in TypeScript with complete type definitions
11
+ - 📦 ** Subpath Imports** : Granular imports for minimal bundle size
12
+ - 🧪 ** Test Coverage** : Every function has test cases that match Lodash's behavior exactly
13
+ - 0️⃣ ** Zero Dependencies** : No external runtime dependencies, keeping your bundle lean
14
+ - ✅ ** Proven Reliability** : Used in production at NAVER Pay
15
+
16
+ [ 나머지 내용 동일...]
12
17
13
18
## Installation
14
19
@@ -44,10 +49,39 @@ import {has, isEmpty} from '@naverpay/hidash'
44
49
45
50
## Why hidash?
46
51
47
- - ** Modern** : Built specifically for ES modules with subpath imports for optimal tree-shaking
48
- - ** Performance** : Optimized implementations that outperform Lodash in most scenarios
49
- - ** Compatibility** : Designed as a drop-in replacement with identical interfaces and behavior
50
- - ** Tested** : Comprehensive test suite ensuring Lodash compatibility and performance benchmarks
52
+ - ** Modern** : Built specifically for ES modules with subpath imports for optimal tree-shaking
53
+ - ** Performance** : Optimized implementations that outperform Lodash in most scenarios
54
+ - ** Compatibility** : Designed as a drop-in replacement with identical interfaces and behavior
55
+ - ** Tested** : Comprehensive test suite ensuring Lodash compatibility and performance benchmarks
56
+
57
+ ## Benchmarks (2024.11.04)
58
+
59
+ ``` bash
60
+ ✓ src/isEmpty.bench.ts (2) 1323ms
61
+ ✓ isEmpty performance (2) 1322ms
62
+ · hidash 324.23 ops/sec ±0.40% (0 samples) fastest
63
+ · lodash 35.6400 ops/sec ±0.42% (0 samples)
64
+ ✓ src/keys.bench.ts (2) 3031ms
65
+ ✓ keys performance (2) 3030ms
66
+ · hidash 27.6429 ops/sec ±0.38% (0 samples) fastest
67
+ · lodash 7.5177 ops/sec ±0.47% (0 samples)
68
+ ✓ src/size.bench.ts (2) 1265ms
69
+ ✓ size performance (2) 1263ms
70
+ · hidash 119.83 ops/sec ±1.05% (0 samples) fastest
71
+ · lodash 114.94 ops/sec ±1.65% (0 samples)
72
+
73
+
74
+ BENCH Summary
75
+
76
+ hidash - src/isEmpty.bench.ts > isEmpty performance
77
+ 9.10x faster than lodash
78
+
79
+ hidash - src/keys.bench.ts > keys performance
80
+ 3.68x faster than lodash
81
+
82
+ hidash - src/size.bench.ts > size performance
83
+ 1.04x faster than lodash
84
+ ```
51
85
52
86
## Available Functions
53
87
@@ -138,20 +172,20 @@ Contributions are welcome!
138
172
139
173
Want additional Lodash methods to be implemented ? Please create an issue with :
140
174
141
- - The method name
142
- - Use case description
143
- - Current workaround (if any )
175
+ - The method name
176
+ - Use case description
177
+ - Current workaround (if any )
144
178
145
179
We prioritize implementing new methods based on community needs .
146
180
147
181
### Pull Requests
148
182
149
183
Feel free to submit PRs for :
150
184
151
- - Bug fixes
152
- - Performance improvements
153
- - New utility methods
154
- - Documentation improvements
185
+ - Bug fixes
186
+ - Performance improvements
187
+ - New utility methods
188
+ - Documentation improvements
155
189
156
190
Please read our contributing guidelines before submitting PRs .
157
191
0 commit comments