
Security News
The Hidden Blast Radius of the Axios Compromise
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.
@septem/tool
Advanced tools
A JavaScript utility library similar to lodash, providing various useful utility functions.
npm install @septem/tool
# or
yarn add @septem/tool
// ES modules
import tool from '@septem/tool';
tool.isEqual([1, 2, 3], [1, 2, 3]); // => true
// CommonJS
const tool = require('@septem/tool');
tool.isEqual([1, 2, 3], [1, 2, 3]); // => true
// ES modules
import { isEqual } from '@septem/tool';
isEqual([1, 2, 3], [1, 2, 3]); // => true
// CommonJS
const { isEqual } = require('@septem/tool');
isEqual([1, 2, 3], [1, 2, 3]); // => true
Deep comparison to check if two values are equal.
value (*): The first value to compareother (*): The second value to compareboolean: Returns true if the values are equal, otherwise falseisEqual([1, 2, 3], [1, 2, 3]);
// => true
isEqual({ 'a': 1, 'b': 2 }, { 'b': 2, 'a': 1 });
// => true
isEqual('a', 'a');
// => true
isEqual('a', Object('a'));
// => false
Deep clone a value, creating a new value that is equal to the original but with different references.
value (*): The value to clone*: The cloned valueconst objects = [{ 'a': 1 }, { 'b': 2 }];
const deep = deepClone(objects);
console.log(deep[0] === objects[0]);
// => false
const obj = { a: 1, b: { c: 2 } };
const clone = deepClone(obj);
obj.b.c = 3;
console.log(clone.b.c);
// => 2
Creates a debounced function that delays invoking func until after wait milliseconds have elapsed since the last time the debounced function was invoked.
func (Function): The function to debouncewait (number): The number of milliseconds to delayoptions (Object): The options object
leading (boolean): Specify invoking on the leading edge of the timeout, defaults to falsetrailing (boolean): Specify invoking on the trailing edge of the timeout, defaults to trueFunction: Returns the new debounced function with the following methods:
cancel(): Cancels the debounced function callflush(): Immediately invokes the function// Avoid updating layout during window resize too frequently
window.addEventListener('resize', debounce(calculateLayout, 150));
// Send request only after user stops typing
element.addEventListener('input', debounce(sendRequest, 300));
// Use leading option to invoke at the beginning of the timeout
const clickHandler = debounce(handleClick, 300, { leading: true });
// Cancel a debounced function call
const debouncedFunc = debounce(func, 1000);
debouncedFunc();
// Cancel the call
debouncedFunc.cancel();
npm install
npm test
npm run build
npm run docs
MIT
FAQs
A JavaScript utility library
We found that @septem/tool demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 0 open source maintainers 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
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.

Research
A supply chain attack on Axios introduced a malicious dependency, plain-crypto-js@4.2.1, published minutes earlier and absent from the project’s GitHub releases.

Research
Malicious versions of the Telnyx Python SDK on PyPI delivered credential-stealing malware via a multi-stage supply chain attack.