Research
Security News
Malicious npm Package Targets Solana Developers and Hijacks Funds
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
@alwatr/wait
Advanced tools
@alwatr/wait
offers a collection of utility functions to handle asynchronous execution flow effectively. It allows you to pause your code until specific conditions are met or certain events occur. This functionality aids in managing complex asynchronous scenarios and crafting intricate flows with ease. The functions can be used independently or combined for robust control over asynchronous operations.
npm install @alwatr/wait
yarn add @alwatr/wait
Each function within @alwatr/wait
returns a Promise that resolves when the specified waiting condition is met. Here's a breakdown of the available functions:
waitForTimeout(duration: number): Promise
Waits for a specified duration (in milliseconds) before resolving.
Example:
import { waitForTimeout } from '@alwatr/wait';
await waitForTimeout(1000); // Waits for 1 second
waitForAnimationFrame(): Promise
Pauses execution until the next animation frame is scheduled, resolving with the current timestamp.
Useful for synchronizing UI updates with browser rendering.
Example:
import { waitForAnimationFrame } from '@alwatr/wait';
await waitForAnimationFrame(); // Waits for next animation frame
waitForIdle(timeout?: number): Promise
Waits for the next idle period (when the browser is not busy), resolving with an IdleDeadline
object.
Optionally accepts a timeout value (in milliseconds) for maximum waiting time.
Ideal for executing tasks that don't impact user experience.
Example:
import { waitForIdle } from '@alwatr/wait';
await waitForIdle(); // Waits for next idle period
waitForDomEvent(element: HTMLElement, eventName: T): Promise<HTMLElementEventMap[T]>
Pauses execution until a specific DOM event is triggered on a provided element, resolving with the event object.
Example:
import { waitForDomEvent } from '@alwatr/wait';
const button = document.getElementById('myButton');
await waitForDomEvent(button, 'click'); // Waits for click event on button
waitForEvent(target: HasAddEventListener, eventName: string): Promise
More generic version of waitForDomEvent
, allowing waiting for any event on any object with an addEventListener
method.
Example:
import { waitForEvent } from '@alwatr/wait';
const server = http.createServer();
await waitForEvent(server, 'request'); // Waits for request event on server
waitForImmediate(): Promise
Executes the next task in the microtask queue immediately after the current task finishes.
Example:
import { waitForImmediate } from '@alwatr/wait';
await waitForImmediate(); // Executes next microtask
waitForMicrotask(): Promise
Similar to waitForImmediate
, but waits specifically for the next microtask queue.
Example:
import { waitForMicrotask } from '@alwatr/wait';
await waitForMicrotask(); // Waits for next microtask queue
We welcome contributions to improve this package! Feel free to open bug reports, suggest new features, or submit pull requests following our contribution guidelines.
License:
This package is distributed under the MIT License.
FAQs
Comprehensive toolkit for managing asynchronous operations.
The npm package @alwatr/wait receives a total of 159 weekly downloads. As such, @alwatr/wait popularity was classified as not popular.
We found that @alwatr/wait demonstrated a healthy version release cadence and project activity because the last version was released less than 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.
Research
Security News
A malicious npm package targets Solana developers, rerouting funds in 2% of transactions to a hardcoded address.
Security News
Research
Socket researchers have discovered malicious npm packages targeting crypto developers, stealing credentials and wallet data using spyware delivered through typosquats of popular cryptographic libraries.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.