gitextract_gpfdol5s/ ├── .codeclimate.yml ├── .fossa.yml ├── .github/ │ ├── dependabot.yml │ └── workflows/ │ ├── branches.yml │ └── pull-requests.yml ├── .gitignore ├── .mocharc.yaml ├── .prettierrc ├── .snyk ├── .yarnrc.yml ├── CHANGELOG.md ├── Dockerfile ├── LICENSE ├── README.md ├── docker-compose.yml ├── eslint.config.mjs ├── package.json ├── setup-redis-servers.sh ├── src/ │ ├── Lock.ts │ ├── RedisMultiSemaphore.ts │ ├── RedisMutex.ts │ ├── RedisSemaphore.ts │ ├── RedlockMultiSemaphore.ts │ ├── RedlockMutex.ts │ ├── RedlockSemaphore.ts │ ├── errors/ │ │ ├── LostLockError.ts │ │ └── TimeoutError.ts │ ├── index.ts │ ├── misc.ts │ ├── multiSemaphore/ │ │ ├── acquire/ │ │ │ ├── index.ts │ │ │ └── lua.ts │ │ ├── refresh/ │ │ │ ├── index.ts │ │ │ └── lua.ts │ │ └── release/ │ │ ├── index.ts │ │ └── lua.ts │ ├── mutex/ │ │ ├── acquire.ts │ │ ├── refresh.ts │ │ └── release.ts │ ├── redlockMultiSemaphore/ │ │ ├── acquire.ts │ │ ├── refresh.ts │ │ └── release.ts │ ├── redlockMutex/ │ │ ├── acquire.ts │ │ ├── refresh.ts │ │ └── release.ts │ ├── redlockSemaphore/ │ │ ├── acquire.ts │ │ ├── refresh.ts │ │ └── release.ts │ ├── semaphore/ │ │ ├── acquire/ │ │ │ ├── index.ts │ │ │ └── lua.ts │ │ ├── refresh/ │ │ │ ├── index.ts │ │ │ └── lua.ts │ │ └── release.ts │ ├── types.ts │ └── utils/ │ ├── createEval.ts │ ├── index.ts │ └── redlock.ts ├── test/ │ ├── init.test.ts │ ├── redisClient.ts │ ├── setup.ts │ ├── shell.test.ts │ ├── shell.ts │ ├── src/ │ │ ├── Lock.test.ts │ │ ├── RedisMultiSemaphore.test.ts │ │ ├── RedisMutex.test.ts │ │ ├── RedisSemaphore.test.ts │ │ ├── RedlockMultiSemaphore.test.ts │ │ ├── RedlockMutex.test.ts │ │ ├── RedlockSemaphore.test.ts │ │ ├── index.test.ts │ │ ├── multiSemaphore/ │ │ │ ├── acquire/ │ │ │ │ ├── index.test.ts │ │ │ │ └── internal.test.ts │ │ │ ├── refresh/ │ │ │ │ └── index.test.ts │ │ │ └── release/ │ │ │ └── index.test.ts │ │ ├── mutex/ │ │ │ ├── acquire.test.ts │ │ │ ├── refresh.test.ts │ │ │ └── release.test.ts │ │ ├── redlockMutex/ │ │ │ ├── acquire.test.ts │ │ │ ├── refresh.test.ts │ │ │ └── release.test.ts │ │ ├── semaphore/ │ │ │ ├── acquire/ │ │ │ │ ├── index.test.ts │ │ │ │ └── internal.test.ts │ │ │ ├── refresh/ │ │ │ │ └── index.test.ts │ │ │ └── release.test.ts │ │ └── utils/ │ │ ├── eval.test.ts │ │ ├── index.test.ts │ │ └── redlock.test.ts │ └── unhandledRejection.ts ├── tsconfig.build-commonjs.json ├── tsconfig.build-es.json └── tsconfig.json