Security News
38% of CISOs Fear They’re Not Moving Fast Enough on AI
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
LargeMap
is a wrapper for the built-in Map
data structure that enables storage and handling of a large number of elements without worrying about the maximum limit of 16.777.216 (2^24) entries in a Map
. However, LargeMap
is optimized to handle a much larger number of elements than the built-in Map
while maintaining high performance. It has zero external dependencies and written in TypeScript.
import LargeMap from 'large-map';
// using LargeMap
const largeMap = new LargeMap();
for (let i = 0; i <= 16777216; i++) {
largeMap.set(i, 1); // No errors will be thrown
}
// using built-in Map
const map = new Map();
for (let i = 0; i <= 16777216; i++) {
map.set(i, 1); // Throws a 'RangeError: Value undefined out of range for undefined options property undefined'
}
# using npm
npm install large-map
# using yarn
yarn add large-map
LargeMap
has the identical interface as built-in Map
, which means that it can be used in the same way as Map
.
import LargeMap from 'large-map';
const map = new LargeMap();
map.set('foo', 'hello');
map.set('bar', 'world');
console.log(map.has('foo')); // true
console.log(map.has('baz')); // false
console.log(map.size); // 2
console.log(map.get('bar')); // 'world'
The LargeMap
class is designed for use cases where the size of the map may exceed the maximum limit of a built-in Map
. However, it is not a drop-in replacement for Map
, and may not be suitable for all use cases. Additionally, the partitioning of the map into smaller maps can incur a performance penalty, particularly for operations that involve searching for elements or iterating over the map. It is recommended to use LargeMap
only when dealing with very large maps, and to test its performance against built-in Map
for your specific use case.
This library is well tested. You can test the code as follows:
# using npm
npm test
# using yarn
yarn test
If you have anything to contribute, or functionality that you lack - you are more than welcome to participate in this!
Feel free to use this library under the conditions of the MIT license.
FAQs
A wrapper to deal with a large number of elements in Map.
The npm package large-map receives a total of 0 weekly downloads. As such, large-map popularity was classified as not popular.
We found that large-map demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
Research
Security News
Socket researchers uncovered a backdoored typosquat of BoltDB in the Go ecosystem, exploiting Go Module Proxy caching to persist undetected for years.
Security News
Company News
Socket is joining TC54 to help develop standards for software supply chain security, contributing to the evolution of SBOMs, CycloneDX, and Package URL specifications.