UNPKG

zero-overhead-keyed-promise-lock

Version:

An efficient keyed Promise lock for Node.js projects, ensuring the mutually exclusive execution of tasks associated with the same key. Key features include active key metrics and the ability to gracefully await the completion of all currently executing or

82 lines (81 loc) 2.16 kB
{ "name": "zero-overhead-keyed-promise-lock", "version": "1.1.0", "description": "An efficient keyed Promise lock for Node.js projects, ensuring the mutually exclusive execution of tasks associated with the same key. Key features include active key metrics and the ability to gracefully await the completion of all currently executing or pending tasks, making it ideal for robust production applications requiring smooth teardown.", "repository": { "type": "git", "url": "git+https://github.com/ori88c/zero-overhead-keyed-promise-lock.git" }, "contributors": [ "Ori Cohen (https://github.com/ori88c/)" ], "homepage": "https://github.com/ori88c/zero-overhead-keyed-promise-lock#readme", "author": "Ori Cohen", "license": "Apache-2.0", "scripts": { "build": "tsc", "prepare": "npm run build", "test": "jest" }, "keywords": [ "keyed-lock", "lock-key", "sequential", "mutex", "keyed-mutex", "promise-lock", "async-lock", "lock", "event-loop-lock", "sequential-processing", "sequential-per-key", "race-condition", "critical-section", "async-task", "task-lock", "FIFO-per-key", "graceful-termination", "graceful-teardown", "graceful-shutdown", "clean-teardown", "smooth-teardown", "deterministic-termination", "check-and-abort", "active-key", "access-ongoing-task", "access-executing-promise", "smart-reuse", "avoid-redundant-executions", "advanced-usage-patterns", "batch-processing", "deterministic-batch-completion", "throttle", "rate-limiting", "nodejs", "Node.js", "typescript", "ts", "ES2020" ], "engines": { "node": ">=14.5.0" }, "dependencies": { "zero-overhead-promise-lock": "^1.2.0" }, "devDependencies": { "@types/jest": "^29.5.12", "jest": "^29.7.0", "ts-jest": "^29.1.5", "ts-node": "^10.9.2", "typescript": "^5.5.2" }, "types": "./dist/zero-overhead-keyed-promise-lock.d.ts", "main": "./dist/zero-overhead-keyed-promise-lock.js", "files": [ "src/", "dist/", "README.md", "LICENSE" ] }