
Research
Security News
Lazarus Strikes npm Again with New Wave of Malicious Packages
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
Javascript memoization library. Wrap your computationally expensive functions with memily
so that the results of calls are cached.
This package is dependendent on the ES6 Map feature, which is available in most modern browsers. Consider using a polyfill such as core-js
for legacy browser support.
Install memily
to your project by running:
npm install --save memily
Or if you use Yarn:
yarn add memily
Then, import memily into your project like this:
import memily from 'memily';
import memily from 'memily';
function squareRoot(num) {
console.log('Hello world!');
return Math.sqrt(num);
}
const squareRootMemoized = memily(squareRoot);
squareRootMemoized(4); // console.log: 'Hello world!'
squareRootMemoized(4); // ...
squareRootMemoized(4); // ...
squareRootMemoized(9); // console.log: 'Hello world!'
maxAge
option.function squareRoot(num) {
console.log('Hello world!');
return Math.sqrt(num);
}
const squareRootMemoized = memily(squareRoot, { maxAge: 100 });
Promise.resolve()
.then(() => squareRootMemoized(4)) // console.log: 'Hello world!'
.then(() => squareRootMemoized(4)) // ...
.then(() => new Promise(resolve => setTimeout(resolve, 200)))
.then(() => squareRootMemoized(4)); // console.log: 'Hello world!'
cacheKey
option.const steveHolt = {
id: 1,
firstName: 'Steve',
surname: 'Holt',
};
const tobiasFunke = {
id: 2,
firstName: 'Tobias',
surname: 'Funke',
};
function getFullNameString(user) {
console.log('Hello world!');
return `${user.firstName} ${user.surname}`;
}
const getFullNameStringMemoized = memily(getFullNameString, {
cacheKey: user => user.id,
});
getFullNameStringMemoized(steveHolt); // console.log: 'Hello world!'
getFullNameStringMemoized(steveHolt); // ...
getFullNameStringMemoized(tobiasFunke); // console.log: 'Hello world!'
getFullNameStringMemoized(tobiasFunke); // ...
import { flush } from 'memily';
flush();
Memily comes with Flow types built in. No flow-typed
installation required.
This project is licensed under the MIT License - see the LICENSE.md file for details
Memily was heavily inspired and influenced by sindresorhus's mem package.
FAQs
Javascript function memoization library.
The npm package memily receives a total of 0 weekly downloads. As such, memily popularity was classified as not popular.
We found that memily 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.
Research
Security News
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
Security News
Socket CEO Feross Aboukhadijeh discusses the open web, open source security, and how Socket tackles software supply chain attacks on The Pair Program podcast.
Security News
Opengrep continues building momentum with the alpha release of its Playground tool, demonstrating the project's rapid evolution just two months after its initial launch.