Socket
Socket
Sign inDemoInstall

@nodesuite/defer

Package Overview
Dependencies
1
Maintainers
1
Versions
76
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.0.13 to 0.0.14

6

package.json
{
"$schema": "https://json.schemastore.org/package",
"name": "@nodesuite/defer",
"version": "0.0.13",
"version": "0.0.14",
"description": "Deferred Promise resolution tools.",

@@ -27,4 +27,4 @@ "keywords": [

"devDependencies": {
"@nodesuite/eslint-config": "0.0.13",
"@nodesuite/node-rig": "0.0.13",
"@nodesuite/eslint-config": "0.0.14",
"@nodesuite/node-rig": "0.0.14",
"@rushstack/eslint-config": "^3.0.0",

@@ -31,0 +31,0 @@ "@rushstack/heft": "^0.47.3",

@@ -7,11 +7,58 @@ <img alt="nodesuite" src="https://user-images.githubusercontent.com/65471523/183563697-5401a9f6-efec-4cf3-a907-9ad66721659f.png" height="32" />

Simple deferred `Promise` class.
Simple deferred `Promise` generator.
## Installation
```shell
pnpm install @nodesuite/defer
```
## Usage
```typescript
import { defer } from "@nodesuite/defer"
const {} = defer()
import { someEventfulEmitter } from "./events"
const { resolve, reject, untilResolved } = defer()
// Define async work...
someEventfulEmitter.on("someEvent", resolve)
// ...or some alternative trigger...
const secondEmitter = new EventEmitter()
secondEmitter.on("secondEvent", resolve)
// ...or abstract resoltion conditons...
class Foo {
#resolve
#reject
public constructor({ resolve, reject }) {
this.#resolve = resolve
this.#reject = reject
}
public someSuccessFunction() {
return this.#resolve()
}
public someFailureFunction() {
return this.#reject()
}
}
const foo = new Foo({ resolve, reject })
// Reject the master promise...
someEventfulEmitter.on("error", () => foo.someFailureFunction())
// Can await resolution of promise from any source.
await untilResolved()
```
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc