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
JSON
{
"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"
]
}