UNPKG

nest-apirator-locking

Version:

A NestJS module that provides distributed locking capabilities using @apiratorjs/locking utilities. It offers implementations for distributed mutexes and semaphores to help synchronize concurrent operations across distributed systems.

39 lines 1.79 kB
"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var LockingModule_1; Object.defineProperty(exports, "__esModule", { value: true }); exports.LockingModule = void 0; const common_1 = require("@nestjs/common"); const locking_factory_1 = require("./locking-factory"); const locking_factory_interface_1 = require("./locking-factory-interface"); let LockingModule = LockingModule_1 = class LockingModule { static configureDistributedLocking(options) { return { module: LockingModule_1, global: true, providers: [ locking_factory_1.LockingFactory, { provide: locking_factory_interface_1.LockingFactoryImplToken, inject: options.inject, useFactory: options.useFactory, }, ], exports: [locking_factory_1.LockingFactory], }; } }; exports.LockingModule = LockingModule; exports.LockingModule = LockingModule = LockingModule_1 = __decorate([ (0, common_1.Global)(), (0, common_1.Module)({ providers: [locking_factory_1.LockingFactory], exports: [locking_factory_1.LockingFactory], }) ], LockingModule); //# sourceMappingURL=locking-module.js.map