atomic-queues 1.6.2 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +182 -411
- package/dist/cli/generators/json-schema.d.ts +3 -0
- package/dist/cli/generators/json-schema.d.ts.map +1 -0
- package/dist/cli/generators/json-schema.js +31 -0
- package/dist/cli/generators/json-schema.js.map +1 -0
- package/dist/cli/generators/typescript.d.ts +3 -0
- package/dist/cli/generators/typescript.d.ts.map +1 -0
- package/dist/cli/generators/typescript.js +62 -0
- package/dist/cli/generators/typescript.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +156 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/decorators/actor.decorators.d.ts +4 -0
- package/dist/decorators/actor.decorators.d.ts.map +1 -0
- package/dist/decorators/actor.decorators.js +32 -0
- package/dist/decorators/actor.decorators.js.map +1 -0
- package/dist/decorators/constants.d.ts +5 -12
- package/dist/decorators/constants.d.ts.map +1 -1
- package/dist/decorators/constants.js +10 -16
- package/dist/decorators/constants.js.map +1 -1
- package/dist/decorators/index.d.ts +4 -4
- package/dist/decorators/index.d.ts.map +1 -1
- package/dist/decorators/index.js +4 -4
- package/dist/decorators/index.js.map +1 -1
- package/dist/decorators/interfaces.d.ts +18 -78
- package/dist/decorators/interfaces.d.ts.map +1 -1
- package/dist/decorators/metadata-readers.d.ts +5 -26
- package/dist/decorators/metadata-readers.d.ts.map +1 -1
- package/dist/decorators/metadata-readers.js +16 -33
- package/dist/decorators/metadata-readers.js.map +1 -1
- package/dist/decorators/schema.decorators.d.ts +2 -0
- package/dist/decorators/schema.decorators.d.ts.map +1 -0
- package/dist/decorators/schema.decorators.js +13 -0
- package/dist/decorators/schema.decorators.js.map +1 -0
- package/dist/domain/interfaces/config.interfaces.d.ts +52 -153
- package/dist/domain/interfaces/config.interfaces.d.ts.map +1 -1
- package/dist/domain/interfaces/index.d.ts +0 -7
- package/dist/domain/interfaces/index.d.ts.map +1 -1
- package/dist/domain/interfaces/index.js +0 -7
- package/dist/domain/interfaces/index.js.map +1 -1
- package/dist/domain/interfaces/job.interfaces.d.ts +32 -65
- package/dist/domain/interfaces/job.interfaces.d.ts.map +1 -1
- package/dist/index.d.ts +0 -34
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -39
- package/dist/index.js.map +1 -1
- package/dist/module/atomic-queues.module.d.ts +0 -83
- package/dist/module/atomic-queues.module.d.ts.map +1 -1
- package/dist/module/atomic-queues.module.js +35 -134
- package/dist/module/atomic-queues.module.js.map +1 -1
- package/dist/services/actor-registry/actor-registry.service.d.ts +30 -0
- package/dist/services/actor-registry/actor-registry.service.d.ts.map +1 -0
- package/dist/services/actor-registry/actor-registry.service.js +186 -0
- package/dist/services/actor-registry/actor-registry.service.js.map +1 -0
- package/dist/services/actor-registry/index.d.ts +2 -0
- package/dist/services/actor-registry/index.d.ts.map +1 -0
- package/dist/services/actor-registry/index.js +18 -0
- package/dist/services/actor-registry/index.js.map +1 -0
- package/dist/services/actor-system/actor-system.service.d.ts +19 -0
- package/dist/services/actor-system/actor-system.service.d.ts.map +1 -0
- package/dist/services/actor-system/actor-system.service.js +86 -0
- package/dist/services/actor-system/actor-system.service.js.map +1 -0
- package/dist/services/actor-system/index.d.ts +2 -0
- package/dist/services/actor-system/index.d.ts.map +1 -0
- package/dist/services/{cron-manager → actor-system}/index.js +1 -1
- package/dist/services/actor-system/index.js.map +1 -0
- package/dist/services/command-discovery/command-discovery.service.d.ts +6 -53
- package/dist/services/command-discovery/command-discovery.service.d.ts.map +1 -1
- package/dist/services/command-discovery/command-discovery.service.js +0 -59
- package/dist/services/command-discovery/command-discovery.service.js.map +1 -1
- package/dist/services/constants.d.ts +2 -9
- package/dist/services/constants.d.ts.map +1 -1
- package/dist/services/constants.js +3 -10
- package/dist/services/constants.js.map +1 -1
- package/dist/services/executor-pool/executor-pool.service.d.ts +31 -0
- package/dist/services/executor-pool/executor-pool.service.d.ts.map +1 -0
- package/dist/services/executor-pool/executor-pool.service.js +147 -0
- package/dist/services/executor-pool/executor-pool.service.js.map +1 -0
- package/dist/services/executor-pool/index.d.ts +2 -0
- package/dist/services/executor-pool/index.d.ts.map +1 -0
- package/dist/services/{queue-manager → executor-pool}/index.js +1 -1
- package/dist/services/executor-pool/index.js.map +1 -0
- package/dist/services/gate/gate.service.d.ts +17 -0
- package/dist/services/gate/gate.service.d.ts.map +1 -0
- package/dist/services/gate/gate.service.js +66 -0
- package/dist/services/gate/gate.service.js.map +1 -0
- package/dist/services/gate/index.d.ts +2 -0
- package/dist/services/gate/index.d.ts.map +1 -0
- package/dist/services/{spawn-queue → gate}/index.js +1 -1
- package/dist/services/gate/index.js.map +1 -0
- package/dist/services/handler-executor/handler-executor.service.d.ts +32 -0
- package/dist/services/handler-executor/handler-executor.service.d.ts.map +1 -0
- package/dist/services/handler-executor/handler-executor.service.js +186 -0
- package/dist/services/handler-executor/handler-executor.service.js.map +1 -0
- package/dist/services/handler-executor/index.d.ts +2 -0
- package/dist/services/handler-executor/index.d.ts.map +1 -0
- package/dist/services/handler-executor/index.js +18 -0
- package/dist/services/handler-executor/index.js.map +1 -0
- package/dist/services/index.d.ts +11 -12
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +11 -12
- package/dist/services/index.js.map +1 -1
- package/dist/services/log/index.d.ts +2 -0
- package/dist/services/log/index.d.ts.map +1 -0
- package/dist/services/{index-manager → log}/index.js +1 -1
- package/dist/services/log/index.js.map +1 -0
- package/dist/services/log/log.service.d.ts +21 -0
- package/dist/services/log/log.service.d.ts.map +1 -0
- package/dist/services/log/log.service.js +92 -0
- package/dist/services/log/log.service.js.map +1 -0
- package/dist/services/queue-bus/index.d.ts +0 -4
- package/dist/services/queue-bus/index.d.ts.map +1 -1
- package/dist/services/queue-bus/index.js +0 -4
- package/dist/services/queue-bus/index.js.map +1 -1
- package/dist/services/queue-bus/queue-bus.service.d.ts +44 -198
- package/dist/services/queue-bus/queue-bus.service.d.ts.map +1 -1
- package/dist/services/queue-bus/queue-bus.service.js +103 -259
- package/dist/services/queue-bus/queue-bus.service.js.map +1 -1
- package/dist/services/queue-bus/queue-bus.utils.d.ts +0 -28
- package/dist/services/queue-bus/queue-bus.utils.d.ts.map +1 -1
- package/dist/services/queue-bus/queue-bus.utils.js +1 -41
- package/dist/services/queue-bus/queue-bus.utils.js.map +1 -1
- package/dist/services/registry/index.d.ts +4 -0
- package/dist/services/registry/index.d.ts.map +1 -0
- package/dist/services/{queue-events-manager → registry}/index.js +3 -1
- package/dist/services/registry/index.js.map +1 -0
- package/dist/services/registry/registry.service.d.ts +43 -0
- package/dist/services/registry/registry.service.d.ts.map +1 -0
- package/dist/services/registry/registry.service.js +379 -0
- package/dist/services/registry/registry.service.js.map +1 -0
- package/dist/services/registry/registry.types.d.ts +24 -0
- package/dist/services/registry/registry.types.d.ts.map +1 -0
- package/dist/{domain/interfaces/lock.interfaces.js → services/registry/registry.types.js} +1 -1
- package/dist/services/registry/registry.types.js.map +1 -0
- package/dist/services/registry/schema-converter.d.ts +2 -0
- package/dist/services/registry/schema-converter.d.ts.map +1 -0
- package/dist/services/registry/schema-converter.js +27 -0
- package/dist/services/registry/schema-converter.js.map +1 -0
- package/dist/services/result-collector/index.d.ts +2 -0
- package/dist/services/result-collector/index.d.ts.map +1 -0
- package/dist/services/result-collector/index.js +18 -0
- package/dist/services/result-collector/index.js.map +1 -0
- package/dist/services/result-collector/result-collector.service.d.ts +17 -0
- package/dist/services/result-collector/result-collector.service.d.ts.map +1 -0
- package/dist/services/result-collector/result-collector.service.js +92 -0
- package/dist/services/result-collector/result-collector.service.js.map +1 -0
- package/dist/services/scheduler/index.d.ts +2 -0
- package/dist/services/scheduler/index.d.ts.map +1 -0
- package/dist/services/{job-processor → scheduler}/index.js +1 -1
- package/dist/services/scheduler/index.js.map +1 -0
- package/dist/services/scheduler/scheduler.service.d.ts +17 -0
- package/dist/services/scheduler/scheduler.service.d.ts.map +1 -0
- package/dist/services/scheduler/scheduler.service.js +116 -0
- package/dist/services/scheduler/scheduler.service.js.map +1 -0
- package/dist/services/shutdown/index.d.ts +2 -0
- package/dist/services/shutdown/index.d.ts.map +1 -0
- package/dist/services/shutdown/index.js +18 -0
- package/dist/services/shutdown/index.js.map +1 -0
- package/dist/services/shutdown/shutdown.service.d.ts +8 -0
- package/dist/services/shutdown/shutdown.service.d.ts.map +1 -0
- package/dist/services/shutdown/shutdown.service.js +29 -0
- package/dist/services/shutdown/shutdown.service.js.map +1 -0
- package/dist/utils/index.d.ts +3 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +3 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/naming.utils.d.ts +0 -16
- package/dist/utils/naming.utils.d.ts.map +1 -1
- package/dist/utils/naming.utils.js +0 -29
- package/dist/utils/naming.utils.js.map +1 -1
- package/package.json +19 -11
- package/dist/decorators/legacy.decorators.d.ts +0 -36
- package/dist/decorators/legacy.decorators.d.ts.map +0 -1
- package/dist/decorators/legacy.decorators.js +0 -61
- package/dist/decorators/legacy.decorators.js.map +0 -1
- package/dist/decorators/scaler.decorators.d.ts +0 -65
- package/dist/decorators/scaler.decorators.d.ts.map +0 -1
- package/dist/decorators/scaler.decorators.js +0 -103
- package/dist/decorators/scaler.decorators.js.map +0 -1
- package/dist/decorators/type-guards.d.ts +0 -18
- package/dist/decorators/type-guards.d.ts.map +0 -1
- package/dist/decorators/type-guards.js +0 -32
- package/dist/decorators/type-guards.js.map +0 -1
- package/dist/decorators/worker.decorators.d.ts +0 -58
- package/dist/decorators/worker.decorators.d.ts.map +0 -1
- package/dist/decorators/worker.decorators.js +0 -92
- package/dist/decorators/worker.decorators.js.map +0 -1
- package/dist/domain/interfaces/event.interfaces.d.ts +0 -71
- package/dist/domain/interfaces/event.interfaces.d.ts.map +0 -1
- package/dist/domain/interfaces/event.interfaces.js +0 -3
- package/dist/domain/interfaces/event.interfaces.js.map +0 -1
- package/dist/domain/interfaces/index-tracking.interfaces.d.ts +0 -69
- package/dist/domain/interfaces/index-tracking.interfaces.d.ts.map +0 -1
- package/dist/domain/interfaces/index-tracking.interfaces.js +0 -3
- package/dist/domain/interfaces/index-tracking.interfaces.js.map +0 -1
- package/dist/domain/interfaces/lock.interfaces.d.ts +0 -54
- package/dist/domain/interfaces/lock.interfaces.d.ts.map +0 -1
- package/dist/domain/interfaces/lock.interfaces.js.map +0 -1
- package/dist/domain/interfaces/process.interfaces.d.ts +0 -44
- package/dist/domain/interfaces/process.interfaces.d.ts.map +0 -1
- package/dist/domain/interfaces/process.interfaces.js +0 -3
- package/dist/domain/interfaces/process.interfaces.js.map +0 -1
- package/dist/domain/interfaces/queue.interfaces.d.ts +0 -46
- package/dist/domain/interfaces/queue.interfaces.d.ts.map +0 -1
- package/dist/domain/interfaces/queue.interfaces.js +0 -3
- package/dist/domain/interfaces/queue.interfaces.js.map +0 -1
- package/dist/domain/interfaces/scaling.interfaces.d.ts +0 -62
- package/dist/domain/interfaces/scaling.interfaces.d.ts.map +0 -1
- package/dist/domain/interfaces/scaling.interfaces.js +0 -3
- package/dist/domain/interfaces/scaling.interfaces.js.map +0 -1
- package/dist/domain/interfaces/worker.interfaces.d.ts +0 -120
- package/dist/domain/interfaces/worker.interfaces.d.ts.map +0 -1
- package/dist/domain/interfaces/worker.interfaces.js +0 -3
- package/dist/domain/interfaces/worker.interfaces.js.map +0 -1
- package/dist/services/cron-manager/cron-manager.service.d.ts +0 -199
- package/dist/services/cron-manager/cron-manager.service.d.ts.map +0 -1
- package/dist/services/cron-manager/cron-manager.service.js +0 -583
- package/dist/services/cron-manager/cron-manager.service.js.map +0 -1
- package/dist/services/cron-manager/index.d.ts +0 -2
- package/dist/services/cron-manager/index.d.ts.map +0 -1
- package/dist/services/cron-manager/index.js.map +0 -1
- package/dist/services/index-manager/index-manager.service.d.ts +0 -142
- package/dist/services/index-manager/index-manager.service.d.ts.map +0 -1
- package/dist/services/index-manager/index-manager.service.js +0 -325
- package/dist/services/index-manager/index-manager.service.js.map +0 -1
- package/dist/services/index-manager/index.d.ts +0 -2
- package/dist/services/index-manager/index.d.ts.map +0 -1
- package/dist/services/index-manager/index.js.map +0 -1
- package/dist/services/job-processor/index.d.ts +0 -2
- package/dist/services/job-processor/index.d.ts.map +0 -1
- package/dist/services/job-processor/index.js.map +0 -1
- package/dist/services/job-processor/job-processor.service.d.ts +0 -156
- package/dist/services/job-processor/job-processor.service.d.ts.map +0 -1
- package/dist/services/job-processor/job-processor.service.js +0 -331
- package/dist/services/job-processor/job-processor.service.js.map +0 -1
- package/dist/services/processor-discovery/decorator-discovery.service.d.ts +0 -40
- package/dist/services/processor-discovery/decorator-discovery.service.d.ts.map +0 -1
- package/dist/services/processor-discovery/decorator-discovery.service.js +0 -191
- package/dist/services/processor-discovery/decorator-discovery.service.js.map +0 -1
- package/dist/services/processor-discovery/index.d.ts +0 -6
- package/dist/services/processor-discovery/index.d.ts.map +0 -1
- package/dist/services/processor-discovery/index.js +0 -22
- package/dist/services/processor-discovery/index.js.map +0 -1
- package/dist/services/processor-discovery/processor-discovery.service.d.ts +0 -98
- package/dist/services/processor-discovery/processor-discovery.service.d.ts.map +0 -1
- package/dist/services/processor-discovery/processor-discovery.service.js +0 -258
- package/dist/services/processor-discovery/processor-discovery.service.js.map +0 -1
- package/dist/services/processor-discovery/processor-registry.d.ts +0 -58
- package/dist/services/processor-discovery/processor-registry.d.ts.map +0 -1
- package/dist/services/processor-discovery/processor-registry.js +0 -74
- package/dist/services/processor-discovery/processor-registry.js.map +0 -1
- package/dist/services/processor-discovery/scaling-registration.service.d.ts +0 -60
- package/dist/services/processor-discovery/scaling-registration.service.d.ts.map +0 -1
- package/dist/services/processor-discovery/scaling-registration.service.js +0 -261
- package/dist/services/processor-discovery/scaling-registration.service.js.map +0 -1
- package/dist/services/processor-discovery/worker-factory.service.d.ts +0 -54
- package/dist/services/processor-discovery/worker-factory.service.d.ts.map +0 -1
- package/dist/services/processor-discovery/worker-factory.service.js +0 -185
- package/dist/services/processor-discovery/worker-factory.service.js.map +0 -1
- package/dist/services/queue-bus/entity-target.d.ts +0 -58
- package/dist/services/queue-bus/entity-target.d.ts.map +0 -1
- package/dist/services/queue-bus/entity-target.js +0 -109
- package/dist/services/queue-bus/entity-target.js.map +0 -1
- package/dist/services/queue-bus/queue-bus.types.d.ts +0 -40
- package/dist/services/queue-bus/queue-bus.types.d.ts.map +0 -1
- package/dist/services/queue-bus/queue-bus.types.js +0 -3
- package/dist/services/queue-bus/queue-bus.types.js.map +0 -1
- package/dist/services/queue-bus/queue-target.d.ts +0 -61
- package/dist/services/queue-bus/queue-target.d.ts.map +0 -1
- package/dist/services/queue-bus/queue-target.js +0 -123
- package/dist/services/queue-bus/queue-target.js.map +0 -1
- package/dist/services/queue-events-manager/index.d.ts +0 -2
- package/dist/services/queue-events-manager/index.d.ts.map +0 -1
- package/dist/services/queue-events-manager/index.js.map +0 -1
- package/dist/services/queue-events-manager/queue-events-manager.service.d.ts +0 -120
- package/dist/services/queue-events-manager/queue-events-manager.service.d.ts.map +0 -1
- package/dist/services/queue-events-manager/queue-events-manager.service.js +0 -343
- package/dist/services/queue-events-manager/queue-events-manager.service.js.map +0 -1
- package/dist/services/queue-manager/index.d.ts +0 -2
- package/dist/services/queue-manager/index.d.ts.map +0 -1
- package/dist/services/queue-manager/index.js.map +0 -1
- package/dist/services/queue-manager/queue-manager.service.d.ts +0 -148
- package/dist/services/queue-manager/queue-manager.service.d.ts.map +0 -1
- package/dist/services/queue-manager/queue-manager.service.js +0 -348
- package/dist/services/queue-manager/queue-manager.service.js.map +0 -1
- package/dist/services/resource-lock/index.d.ts +0 -2
- package/dist/services/resource-lock/index.d.ts.map +0 -1
- package/dist/services/resource-lock/index.js +0 -18
- package/dist/services/resource-lock/index.js.map +0 -1
- package/dist/services/resource-lock/resource-lock.service.d.ts +0 -120
- package/dist/services/resource-lock/resource-lock.service.d.ts.map +0 -1
- package/dist/services/resource-lock/resource-lock.service.js +0 -367
- package/dist/services/resource-lock/resource-lock.service.js.map +0 -1
- package/dist/services/service-queue/index.d.ts +0 -3
- package/dist/services/service-queue/index.d.ts.map +0 -1
- package/dist/services/service-queue/index.js +0 -19
- package/dist/services/service-queue/index.js.map +0 -1
- package/dist/services/service-queue/service-queue.service.d.ts +0 -199
- package/dist/services/service-queue/service-queue.service.d.ts.map +0 -1
- package/dist/services/service-queue/service-queue.service.js +0 -617
- package/dist/services/service-queue/service-queue.service.js.map +0 -1
- package/dist/services/service-queue/service-queue.types.d.ts +0 -32
- package/dist/services/service-queue/service-queue.types.d.ts.map +0 -1
- package/dist/services/service-queue/service-queue.types.js +0 -27
- package/dist/services/service-queue/service-queue.types.js.map +0 -1
- package/dist/services/shutdown-state/index.d.ts +0 -2
- package/dist/services/shutdown-state/index.d.ts.map +0 -1
- package/dist/services/shutdown-state/index.js +0 -18
- package/dist/services/shutdown-state/index.js.map +0 -1
- package/dist/services/shutdown-state/shutdown-state.service.d.ts +0 -69
- package/dist/services/shutdown-state/shutdown-state.service.d.ts.map +0 -1
- package/dist/services/shutdown-state/shutdown-state.service.js +0 -127
- package/dist/services/shutdown-state/shutdown-state.service.js.map +0 -1
- package/dist/services/spawn-queue/index.d.ts +0 -2
- package/dist/services/spawn-queue/index.d.ts.map +0 -1
- package/dist/services/spawn-queue/index.js.map +0 -1
- package/dist/services/spawn-queue/spawn-queue.service.d.ts +0 -119
- package/dist/services/spawn-queue/spawn-queue.service.d.ts.map +0 -1
- package/dist/services/spawn-queue/spawn-queue.service.js +0 -273
- package/dist/services/spawn-queue/spawn-queue.service.js.map +0 -1
- package/dist/services/worker-manager/index.d.ts +0 -2
- package/dist/services/worker-manager/index.d.ts.map +0 -1
- package/dist/services/worker-manager/index.js +0 -18
- package/dist/services/worker-manager/index.js.map +0 -1
- package/dist/services/worker-manager/worker-manager.service.d.ts +0 -221
- package/dist/services/worker-manager/worker-manager.service.d.ts.map +0 -1
- package/dist/services/worker-manager/worker-manager.service.js +0 -591
- package/dist/services/worker-manager/worker-manager.service.js.map +0 -1
- package/dist/utils/helpers.d.ts +0 -5
- package/dist/utils/helpers.d.ts.map +0 -1
- package/dist/utils/helpers.js +0 -21
- package/dist/utils/helpers.js.map +0 -1
- package/dist/utils/job.utils.d.ts +0 -50
- package/dist/utils/job.utils.d.ts.map +0 -1
- package/dist/utils/job.utils.js +0 -89
- package/dist/utils/job.utils.js.map +0 -1
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { EntityScalerOptions } from './interfaces';
|
|
2
|
-
/**
|
|
3
|
-
* @EntityScaler class decorator
|
|
4
|
-
*
|
|
5
|
-
* Marks a class as an entity scaler provider for a specific entity type.
|
|
6
|
-
* Methods decorated with @GetActiveEntities, @GetDesiredWorkerCount,
|
|
7
|
-
* @OnSpawnWorker, and @OnTerminateWorker define the scaling behavior.
|
|
8
|
-
*
|
|
9
|
-
* @example
|
|
10
|
-
* ```typescript
|
|
11
|
-
* @EntityScaler({
|
|
12
|
-
* entityType: 'table',
|
|
13
|
-
* maxWorkersPerEntity: 1,
|
|
14
|
-
* })
|
|
15
|
-
* @Injectable()
|
|
16
|
-
* export class TableEntityScaler {
|
|
17
|
-
* constructor(private readonly redis: Redis) {}
|
|
18
|
-
*
|
|
19
|
-
* @GetActiveEntities()
|
|
20
|
-
* async getAllTables(): Promise<string[]> {
|
|
21
|
-
* // Return all table IDs that need workers
|
|
22
|
-
* }
|
|
23
|
-
*
|
|
24
|
-
* @GetDesiredWorkerCount()
|
|
25
|
-
* async getWorkerCount(entityId: string): Promise<number> {
|
|
26
|
-
* return 1; // Each table gets 1 worker
|
|
27
|
-
* }
|
|
28
|
-
*
|
|
29
|
-
* @OnSpawnWorker()
|
|
30
|
-
* async spawnWorker(entityId: string): Promise<void> {
|
|
31
|
-
* // Called when a worker should be spawned
|
|
32
|
-
* }
|
|
33
|
-
* }
|
|
34
|
-
* ```
|
|
35
|
-
*/
|
|
36
|
-
export declare function EntityScaler(options: EntityScalerOptions): ClassDecorator;
|
|
37
|
-
/**
|
|
38
|
-
* @GetActiveEntities method decorator
|
|
39
|
-
*
|
|
40
|
-
* Marks a method that returns all active entity IDs for scaling decisions.
|
|
41
|
-
* Used within an @EntityScaler class.
|
|
42
|
-
*/
|
|
43
|
-
export declare function GetActiveEntities(): MethodDecorator;
|
|
44
|
-
/**
|
|
45
|
-
* @GetDesiredWorkerCount method decorator
|
|
46
|
-
*
|
|
47
|
-
* Marks a method that returns the desired worker count for an entity.
|
|
48
|
-
* Used within an @EntityScaler class.
|
|
49
|
-
*/
|
|
50
|
-
export declare function GetDesiredWorkerCount(): MethodDecorator;
|
|
51
|
-
/**
|
|
52
|
-
* @OnSpawnWorker method decorator
|
|
53
|
-
*
|
|
54
|
-
* Marks a method that is called when a worker should be spawned.
|
|
55
|
-
* Used within an @EntityScaler class.
|
|
56
|
-
*/
|
|
57
|
-
export declare function OnSpawnWorker(): MethodDecorator;
|
|
58
|
-
/**
|
|
59
|
-
* @OnTerminateWorker method decorator
|
|
60
|
-
*
|
|
61
|
-
* Marks a method that is called when a worker should be terminated.
|
|
62
|
-
* Used within an @EntityScaler class.
|
|
63
|
-
*/
|
|
64
|
-
export declare function OnTerminateWorker(): MethodDecorator;
|
|
65
|
-
//# sourceMappingURL=scaler.decorators.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scaler.decorators.d.ts","sourceRoot":"","sources":["../../src/decorators/scaler.decorators.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,cAAc,CAQzE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,eAAe,CAcnD;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,eAAe,CAcvD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,IAAI,eAAe,CAc/C;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI,eAAe,CAcnD"}
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EntityScaler = EntityScaler;
|
|
4
|
-
exports.GetActiveEntities = GetActiveEntities;
|
|
5
|
-
exports.GetDesiredWorkerCount = GetDesiredWorkerCount;
|
|
6
|
-
exports.OnSpawnWorker = OnSpawnWorker;
|
|
7
|
-
exports.OnTerminateWorker = OnTerminateWorker;
|
|
8
|
-
const constants_1 = require("./constants");
|
|
9
|
-
/**
|
|
10
|
-
* @EntityScaler class decorator
|
|
11
|
-
*
|
|
12
|
-
* Marks a class as an entity scaler provider for a specific entity type.
|
|
13
|
-
* Methods decorated with @GetActiveEntities, @GetDesiredWorkerCount,
|
|
14
|
-
* @OnSpawnWorker, and @OnTerminateWorker define the scaling behavior.
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* ```typescript
|
|
18
|
-
* @EntityScaler({
|
|
19
|
-
* entityType: 'table',
|
|
20
|
-
* maxWorkersPerEntity: 1,
|
|
21
|
-
* })
|
|
22
|
-
* @Injectable()
|
|
23
|
-
* export class TableEntityScaler {
|
|
24
|
-
* constructor(private readonly redis: Redis) {}
|
|
25
|
-
*
|
|
26
|
-
* @GetActiveEntities()
|
|
27
|
-
* async getAllTables(): Promise<string[]> {
|
|
28
|
-
* // Return all table IDs that need workers
|
|
29
|
-
* }
|
|
30
|
-
*
|
|
31
|
-
* @GetDesiredWorkerCount()
|
|
32
|
-
* async getWorkerCount(entityId: string): Promise<number> {
|
|
33
|
-
* return 1; // Each table gets 1 worker
|
|
34
|
-
* }
|
|
35
|
-
*
|
|
36
|
-
* @OnSpawnWorker()
|
|
37
|
-
* async spawnWorker(entityId: string): Promise<void> {
|
|
38
|
-
* // Called when a worker should be spawned
|
|
39
|
-
* }
|
|
40
|
-
* }
|
|
41
|
-
* ```
|
|
42
|
-
*/
|
|
43
|
-
function EntityScaler(options) {
|
|
44
|
-
return (target) => {
|
|
45
|
-
Reflect.defineMetadata(constants_1.ENTITY_SCALER_METADATA, options, target);
|
|
46
|
-
if (!Reflect.hasMetadata('injectable', target)) {
|
|
47
|
-
Reflect.defineMetadata('injectable', true, target);
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* @GetActiveEntities method decorator
|
|
53
|
-
*
|
|
54
|
-
* Marks a method that returns all active entity IDs for scaling decisions.
|
|
55
|
-
* Used within an @EntityScaler class.
|
|
56
|
-
*/
|
|
57
|
-
function GetActiveEntities() {
|
|
58
|
-
return (target, propertyKey, descriptor) => {
|
|
59
|
-
Reflect.defineMetadata(constants_1.GET_ACTIVE_ENTITIES_METADATA, true, target, propertyKey);
|
|
60
|
-
Reflect.defineMetadata(constants_1.GET_ACTIVE_ENTITIES_METADATA + ':method', String(propertyKey), target.constructor);
|
|
61
|
-
return descriptor;
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* @GetDesiredWorkerCount method decorator
|
|
66
|
-
*
|
|
67
|
-
* Marks a method that returns the desired worker count for an entity.
|
|
68
|
-
* Used within an @EntityScaler class.
|
|
69
|
-
*/
|
|
70
|
-
function GetDesiredWorkerCount() {
|
|
71
|
-
return (target, propertyKey, descriptor) => {
|
|
72
|
-
Reflect.defineMetadata(constants_1.GET_DESIRED_WORKER_COUNT_METADATA, true, target, propertyKey);
|
|
73
|
-
Reflect.defineMetadata(constants_1.GET_DESIRED_WORKER_COUNT_METADATA + ':method', String(propertyKey), target.constructor);
|
|
74
|
-
return descriptor;
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* @OnSpawnWorker method decorator
|
|
79
|
-
*
|
|
80
|
-
* Marks a method that is called when a worker should be spawned.
|
|
81
|
-
* Used within an @EntityScaler class.
|
|
82
|
-
*/
|
|
83
|
-
function OnSpawnWorker() {
|
|
84
|
-
return (target, propertyKey, descriptor) => {
|
|
85
|
-
Reflect.defineMetadata(constants_1.ON_SPAWN_WORKER_METADATA, true, target, propertyKey);
|
|
86
|
-
Reflect.defineMetadata(constants_1.ON_SPAWN_WORKER_METADATA + ':method', String(propertyKey), target.constructor);
|
|
87
|
-
return descriptor;
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* @OnTerminateWorker method decorator
|
|
92
|
-
*
|
|
93
|
-
* Marks a method that is called when a worker should be terminated.
|
|
94
|
-
* Used within an @EntityScaler class.
|
|
95
|
-
*/
|
|
96
|
-
function OnTerminateWorker() {
|
|
97
|
-
return (target, propertyKey, descriptor) => {
|
|
98
|
-
Reflect.defineMetadata(constants_1.ON_TERMINATE_WORKER_METADATA, true, target, propertyKey);
|
|
99
|
-
Reflect.defineMetadata(constants_1.ON_TERMINATE_WORKER_METADATA + ':method', String(propertyKey), target.constructor);
|
|
100
|
-
return descriptor;
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
//# sourceMappingURL=scaler.decorators.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scaler.decorators.js","sourceRoot":"","sources":["../../src/decorators/scaler.decorators.ts"],"names":[],"mappings":";;AA2CA,oCAQC;AAQD,8CAcC;AAQD,sDAcC;AAQD,sCAcC;AAQD,8CAcC;AA3ID,2CAMqB;AAGrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,SAAgB,YAAY,CAAC,OAA4B;IACvD,OAAO,CAAC,MAAgB,EAAE,EAAE;QAC1B,OAAO,CAAC,cAAc,CAAC,kCAAsB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAEhE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC;YAC/C,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACrD,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB;IAC/B,OAAO,CACL,MAAc,EACd,WAA4B,EAC5B,UAA8B,EAC9B,EAAE;QACF,OAAO,CAAC,cAAc,CAAC,wCAA4B,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QAChF,OAAO,CAAC,cAAc,CACpB,wCAA4B,GAAG,SAAS,EACxC,MAAM,CAAC,WAAW,CAAC,EACnB,MAAM,CAAC,WAAW,CACnB,CAAC;QACF,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,qBAAqB;IACnC,OAAO,CACL,MAAc,EACd,WAA4B,EAC5B,UAA8B,EAC9B,EAAE;QACF,OAAO,CAAC,cAAc,CAAC,6CAAiC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACrF,OAAO,CAAC,cAAc,CACpB,6CAAiC,GAAG,SAAS,EAC7C,MAAM,CAAC,WAAW,CAAC,EACnB,MAAM,CAAC,WAAW,CACnB,CAAC;QACF,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,aAAa;IAC3B,OAAO,CACL,MAAc,EACd,WAA4B,EAC5B,UAA8B,EAC9B,EAAE;QACF,OAAO,CAAC,cAAc,CAAC,oCAAwB,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QAC5E,OAAO,CAAC,cAAc,CACpB,oCAAwB,GAAG,SAAS,EACpC,MAAM,CAAC,WAAW,CAAC,EACnB,MAAM,CAAC,WAAW,CACnB,CAAC;QACF,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB;IAC/B,OAAO,CACL,MAAc,EACd,WAA4B,EAC5B,UAA8B,EAC9B,EAAE;QACF,OAAO,CAAC,cAAc,CAAC,wCAA4B,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QAChF,OAAO,CAAC,cAAc,CACpB,wCAA4B,GAAG,SAAS,EACxC,MAAM,CAAC,WAAW,CAAC,EACnB,MAAM,CAAC,WAAW,CACnB,CAAC;QACF,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Type } from '@nestjs/common';
|
|
2
|
-
/**
|
|
3
|
-
* Check if a class is a WorkerProcessor
|
|
4
|
-
*/
|
|
5
|
-
export declare function isWorkerProcessor(target: Type<any>): boolean;
|
|
6
|
-
/**
|
|
7
|
-
* Check if a class is an EntityScaler
|
|
8
|
-
*/
|
|
9
|
-
export declare function isEntityScaler(target: Type<any>): boolean;
|
|
10
|
-
/**
|
|
11
|
-
* Check if a class is a JobCommand
|
|
12
|
-
*/
|
|
13
|
-
export declare function isJobCommand(target: Function): boolean;
|
|
14
|
-
/**
|
|
15
|
-
* Check if a class is a JobQuery
|
|
16
|
-
*/
|
|
17
|
-
export declare function isJobQuery(target: Function): boolean;
|
|
18
|
-
//# sourceMappingURL=type-guards.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"type-guards.d.ts","sourceRoot":"","sources":["../../src/decorators/type-guards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAQtC;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAE5D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAEzD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAEtD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAEpD"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isWorkerProcessor = isWorkerProcessor;
|
|
4
|
-
exports.isEntityScaler = isEntityScaler;
|
|
5
|
-
exports.isJobCommand = isJobCommand;
|
|
6
|
-
exports.isJobQuery = isJobQuery;
|
|
7
|
-
const constants_1 = require("./constants");
|
|
8
|
-
/**
|
|
9
|
-
* Check if a class is a WorkerProcessor
|
|
10
|
-
*/
|
|
11
|
-
function isWorkerProcessor(target) {
|
|
12
|
-
return Reflect.hasMetadata(constants_1.WORKER_PROCESSOR_METADATA, target);
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Check if a class is an EntityScaler
|
|
16
|
-
*/
|
|
17
|
-
function isEntityScaler(target) {
|
|
18
|
-
return Reflect.hasMetadata(constants_1.ENTITY_SCALER_METADATA, target);
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Check if a class is a JobCommand
|
|
22
|
-
*/
|
|
23
|
-
function isJobCommand(target) {
|
|
24
|
-
return Reflect.hasMetadata(constants_1.JOB_COMMAND_METADATA, target);
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Check if a class is a JobQuery
|
|
28
|
-
*/
|
|
29
|
-
function isJobQuery(target) {
|
|
30
|
-
return Reflect.hasMetadata(constants_1.JOB_QUERY_METADATA, target);
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=type-guards.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"type-guards.js","sourceRoot":"","sources":["../../src/decorators/type-guards.ts"],"names":[],"mappings":";;AAWA,8CAEC;AAKD,wCAEC;AAKD,oCAEC;AAKD,gCAEC;AAjCD,2CAKqB;AAErB;;GAEG;AACH,SAAgB,iBAAiB,CAAC,MAAiB;IACjD,OAAO,OAAO,CAAC,WAAW,CAAC,qCAAyB,EAAE,MAAM,CAAC,CAAC;AAChE,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,MAAiB;IAC9C,OAAO,OAAO,CAAC,WAAW,CAAC,kCAAsB,EAAE,MAAM,CAAC,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,MAAgB;IAC3C,OAAO,OAAO,CAAC,WAAW,CAAC,gCAAoB,EAAE,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,SAAgB,UAAU,CAAC,MAAgB;IACzC,OAAO,OAAO,CAAC,WAAW,CAAC,8BAAkB,EAAE,MAAM,CAAC,CAAC;AACzD,CAAC"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { WorkerProcessorOptions } from './interfaces';
|
|
2
|
-
/**
|
|
3
|
-
* @WorkerProcessor class decorator
|
|
4
|
-
*
|
|
5
|
-
* Marks a class as a worker processor for a specific entity type.
|
|
6
|
-
* Combined with @JobHandler method decorators, this enables declarative
|
|
7
|
-
* job processing with automatic worker creation and management.
|
|
8
|
-
*
|
|
9
|
-
* @example
|
|
10
|
-
* ```typescript
|
|
11
|
-
* @WorkerProcessor({
|
|
12
|
-
* entityType: 'table',
|
|
13
|
-
* queueName: (tableId) => `${tableId}-queue`,
|
|
14
|
-
* workerName: (tableId) => `table-worker-${tableId}`,
|
|
15
|
-
* workerConfig: {
|
|
16
|
-
* concurrency: 1,
|
|
17
|
-
* heartbeatTTL: 3,
|
|
18
|
-
* }
|
|
19
|
-
* })
|
|
20
|
-
* @Injectable()
|
|
21
|
-
* export class TableWorkerProcessor {
|
|
22
|
-
* constructor(private readonly commandBus: CommandBus) {}
|
|
23
|
-
*
|
|
24
|
-
* @JobHandler('make-bet')
|
|
25
|
-
* async handleMakeBet(job: Job<MakeBetData>, entityId: string) {
|
|
26
|
-
* return this.commandBus.execute(new MakeBetCommand(entityId, job.data));
|
|
27
|
-
* }
|
|
28
|
-
*
|
|
29
|
-
* @JobHandler('*') // Wildcard handler for any unmatched job
|
|
30
|
-
* async handleDynamic(job: Job, entityId: string) {
|
|
31
|
-
* // Dynamic handling
|
|
32
|
-
* }
|
|
33
|
-
* }
|
|
34
|
-
* ```
|
|
35
|
-
*/
|
|
36
|
-
export declare function WorkerProcessor(options: WorkerProcessorOptions): ClassDecorator;
|
|
37
|
-
/**
|
|
38
|
-
* @JobHandler method decorator
|
|
39
|
-
*
|
|
40
|
-
* Marks a method as a handler for a specific job name.
|
|
41
|
-
* Use '*' as jobName to create a wildcard handler that catches
|
|
42
|
-
* any jobs not matched by specific handlers.
|
|
43
|
-
*
|
|
44
|
-
* @example
|
|
45
|
-
* ```typescript
|
|
46
|
-
* @JobHandler('make-bet')
|
|
47
|
-
* async handleMakeBet(job: Job<MakeBetData>, entityId: string) {
|
|
48
|
-
* // Handle make-bet jobs
|
|
49
|
-
* }
|
|
50
|
-
*
|
|
51
|
-
* @JobHandler('*')
|
|
52
|
-
* async handleOther(job: Job, entityId: string) {
|
|
53
|
-
* // Handle any other jobs
|
|
54
|
-
* }
|
|
55
|
-
* ```
|
|
56
|
-
*/
|
|
57
|
-
export declare function JobHandler(jobName: string): MethodDecorator;
|
|
58
|
-
//# sourceMappingURL=worker.decorators.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"worker.decorators.d.ts","sourceRoot":"","sources":["../../src/decorators/worker.decorators.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAsB,MAAM,cAAc,CAAC;AAE1E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,cAAc,CAc/E;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAyB3D"}
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WorkerProcessor = WorkerProcessor;
|
|
4
|
-
exports.JobHandler = JobHandler;
|
|
5
|
-
const constants_1 = require("./constants");
|
|
6
|
-
/**
|
|
7
|
-
* @WorkerProcessor class decorator
|
|
8
|
-
*
|
|
9
|
-
* Marks a class as a worker processor for a specific entity type.
|
|
10
|
-
* Combined with @JobHandler method decorators, this enables declarative
|
|
11
|
-
* job processing with automatic worker creation and management.
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* ```typescript
|
|
15
|
-
* @WorkerProcessor({
|
|
16
|
-
* entityType: 'table',
|
|
17
|
-
* queueName: (tableId) => `${tableId}-queue`,
|
|
18
|
-
* workerName: (tableId) => `table-worker-${tableId}`,
|
|
19
|
-
* workerConfig: {
|
|
20
|
-
* concurrency: 1,
|
|
21
|
-
* heartbeatTTL: 3,
|
|
22
|
-
* }
|
|
23
|
-
* })
|
|
24
|
-
* @Injectable()
|
|
25
|
-
* export class TableWorkerProcessor {
|
|
26
|
-
* constructor(private readonly commandBus: CommandBus) {}
|
|
27
|
-
*
|
|
28
|
-
* @JobHandler('make-bet')
|
|
29
|
-
* async handleMakeBet(job: Job<MakeBetData>, entityId: string) {
|
|
30
|
-
* return this.commandBus.execute(new MakeBetCommand(entityId, job.data));
|
|
31
|
-
* }
|
|
32
|
-
*
|
|
33
|
-
* @JobHandler('*') // Wildcard handler for any unmatched job
|
|
34
|
-
* async handleDynamic(job: Job, entityId: string) {
|
|
35
|
-
* // Dynamic handling
|
|
36
|
-
* }
|
|
37
|
-
* }
|
|
38
|
-
* ```
|
|
39
|
-
*/
|
|
40
|
-
function WorkerProcessor(options) {
|
|
41
|
-
return (target) => {
|
|
42
|
-
// Store the options with defaults
|
|
43
|
-
const metadata = {
|
|
44
|
-
...options,
|
|
45
|
-
overrideDefaults: options.overrideDefaults ?? false,
|
|
46
|
-
};
|
|
47
|
-
Reflect.defineMetadata(constants_1.WORKER_PROCESSOR_METADATA, metadata, target);
|
|
48
|
-
// Mark as injectable if not already
|
|
49
|
-
if (!Reflect.hasMetadata('injectable', target)) {
|
|
50
|
-
Reflect.defineMetadata('injectable', true, target);
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* @JobHandler method decorator
|
|
56
|
-
*
|
|
57
|
-
* Marks a method as a handler for a specific job name.
|
|
58
|
-
* Use '*' as jobName to create a wildcard handler that catches
|
|
59
|
-
* any jobs not matched by specific handlers.
|
|
60
|
-
*
|
|
61
|
-
* @example
|
|
62
|
-
* ```typescript
|
|
63
|
-
* @JobHandler('make-bet')
|
|
64
|
-
* async handleMakeBet(job: Job<MakeBetData>, entityId: string) {
|
|
65
|
-
* // Handle make-bet jobs
|
|
66
|
-
* }
|
|
67
|
-
*
|
|
68
|
-
* @JobHandler('*')
|
|
69
|
-
* async handleOther(job: Job, entityId: string) {
|
|
70
|
-
* // Handle any other jobs
|
|
71
|
-
* }
|
|
72
|
-
* ```
|
|
73
|
-
*/
|
|
74
|
-
function JobHandler(jobName) {
|
|
75
|
-
return (target, propertyKey, descriptor) => {
|
|
76
|
-
const methodName = String(propertyKey);
|
|
77
|
-
const isWildcard = jobName === '*';
|
|
78
|
-
// Store handler metadata on the method
|
|
79
|
-
const metadata = {
|
|
80
|
-
jobName,
|
|
81
|
-
methodName,
|
|
82
|
-
isWildcard,
|
|
83
|
-
};
|
|
84
|
-
Reflect.defineMetadata(constants_1.JOB_HANDLER_METADATA, metadata, target, propertyKey);
|
|
85
|
-
// Collect all handlers on the class
|
|
86
|
-
const existingHandlers = Reflect.getMetadata(constants_1.JOB_HANDLER_METADATA, target.constructor) || [];
|
|
87
|
-
existingHandlers.push(metadata);
|
|
88
|
-
Reflect.defineMetadata(constants_1.JOB_HANDLER_METADATA, existingHandlers, target.constructor);
|
|
89
|
-
return descriptor;
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
//# sourceMappingURL=worker.decorators.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"worker.decorators.js","sourceRoot":"","sources":["../../src/decorators/worker.decorators.ts"],"names":[],"mappings":";;AAqCA,0CAcC;AAsBD,gCAyBC;AAlGD,2CAA8E;AAG9E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,SAAgB,eAAe,CAAC,OAA+B;IAC7D,OAAO,CAAC,MAAgB,EAAE,EAAE;QAC1B,kCAAkC;QAClC,MAAM,QAAQ,GAAG;YACf,GAAG,OAAO;YACV,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,IAAI,KAAK;SACpD,CAAC;QACF,OAAO,CAAC,cAAc,CAAC,qCAAyB,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAEpE,oCAAoC;QACpC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC;YAC/C,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACrD,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,UAAU,CAAC,OAAe;IACxC,OAAO,CACL,MAAc,EACd,WAA4B,EAC5B,UAA8B,EAC9B,EAAE;QACF,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,UAAU,GAAG,OAAO,KAAK,GAAG,CAAC;QAEnC,uCAAuC;QACvC,MAAM,QAAQ,GAAuB;YACnC,OAAO;YACP,UAAU;YACV,UAAU;SACX,CAAC;QACF,OAAO,CAAC,cAAc,CAAC,gCAAoB,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QAE5E,oCAAoC;QACpC,MAAM,gBAAgB,GACpB,OAAO,CAAC,WAAW,CAAC,gCAAoB,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QACtE,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,OAAO,CAAC,cAAc,CAAC,gCAAoB,EAAE,gBAAgB,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAEnF,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Event types for pub/sub communication
|
|
3
|
-
*/
|
|
4
|
-
export type AtomicQueueEventType = 'worker:shutdown' | 'worker:ready' | 'worker:closed' | 'job:completed' | 'job:failed' | 'job:progress' | 'queue:closed' | 'custom';
|
|
5
|
-
/**
|
|
6
|
-
* Event payload structure
|
|
7
|
-
*/
|
|
8
|
-
export interface IAtomicQueueEvent<T = unknown> {
|
|
9
|
-
type: AtomicQueueEventType;
|
|
10
|
-
nodeId: string;
|
|
11
|
-
workerId?: string;
|
|
12
|
-
entityId?: string;
|
|
13
|
-
entityType?: string;
|
|
14
|
-
timestamp: Date;
|
|
15
|
-
data?: T;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Event bus interface for internal pub/sub
|
|
19
|
-
*/
|
|
20
|
-
export interface IEventBus {
|
|
21
|
-
/**
|
|
22
|
-
* Publish an event
|
|
23
|
-
*/
|
|
24
|
-
publish<T>(channel: string, event: IAtomicQueueEvent<T>): Promise<void>;
|
|
25
|
-
/**
|
|
26
|
-
* Subscribe to a channel
|
|
27
|
-
*/
|
|
28
|
-
subscribe(channel: string, handler: (event: IAtomicQueueEvent) => void | Promise<void>): Promise<void>;
|
|
29
|
-
/**
|
|
30
|
-
* Unsubscribe from a channel
|
|
31
|
-
*/
|
|
32
|
-
unsubscribe(channel: string): Promise<void>;
|
|
33
|
-
/**
|
|
34
|
-
* Subscribe to worker shutdown events for a specific worker
|
|
35
|
-
*/
|
|
36
|
-
subscribeToWorkerShutdown(workerName: string, handler: () => void | Promise<void>): Promise<void>;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Socket connection tracking interface
|
|
40
|
-
*/
|
|
41
|
-
export interface IConnectionTracker {
|
|
42
|
-
/**
|
|
43
|
-
* Track a socket connection for an entity
|
|
44
|
-
*/
|
|
45
|
-
trackConnection(entityType: string, entityId: string, socketId: string, nodeId: string): Promise<void>;
|
|
46
|
-
/**
|
|
47
|
-
* Untrack a socket connection
|
|
48
|
-
*/
|
|
49
|
-
untrackConnection(entityType: string, entityId: string, socketId: string): Promise<void>;
|
|
50
|
-
/**
|
|
51
|
-
* Get all socket connections for an entity
|
|
52
|
-
*/
|
|
53
|
-
getEntityConnections(entityType: string, entityId: string): Promise<string[]>;
|
|
54
|
-
/**
|
|
55
|
-
* Get entity connections for a specific node
|
|
56
|
-
*/
|
|
57
|
-
getEntityNodeConnections(entityType: string, entityId: string, nodeId: string): Promise<string[]>;
|
|
58
|
-
/**
|
|
59
|
-
* Untrack all connections for current node
|
|
60
|
-
*/
|
|
61
|
-
untrackNodeConnections(): Promise<void>;
|
|
62
|
-
/**
|
|
63
|
-
* Check if entity has active connections
|
|
64
|
-
*/
|
|
65
|
-
hasActiveConnections(entityType: string, entityId: string): Promise<boolean>;
|
|
66
|
-
/**
|
|
67
|
-
* Get node ID for a socket connection
|
|
68
|
-
*/
|
|
69
|
-
getNodeForSocket(entityType: string, entityId: string, socketId: string): Promise<string | null>;
|
|
70
|
-
}
|
|
71
|
-
//# sourceMappingURL=event.interfaces.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event.interfaces.d.ts","sourceRoot":"","sources":["../../../src/domain/interfaces/event.interfaces.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAC5B,iBAAiB,GACjB,cAAc,GACd,eAAe,GACf,eAAe,GACf,YAAY,GACZ,cAAc,GACd,cAAc,GACd,QAAQ,CAAC;AAEb;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC,GAAG,OAAO;IAC5C,IAAI,EAAE,oBAAoB,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,IAAI,CAAC;IAChB,IAAI,CAAC,EAAE,CAAC,CAAC;CACV;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExE;;OAEG;IACH,SAAS,CACP,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAC1D,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5C;;OAEG;IACH,yBAAyB,CACvB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAClC,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,eAAe,CACb,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;OAEG;IACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzF;;OAEG;IACH,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAE9E;;OAEG;IACH,wBAAwB,CACtB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAErB;;OAEG;IACH,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAExC;;OAEG;IACH,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE7E;;OAEG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAClG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event.interfaces.js","sourceRoot":"","sources":["../../../src/domain/interfaces/event.interfaces.ts"],"names":[],"mappings":""}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Index entry for tracking jobs, workers, queues
|
|
3
|
-
*/
|
|
4
|
-
export interface IIndexEntry {
|
|
5
|
-
id: string;
|
|
6
|
-
type: 'job' | 'worker' | 'queue' | 'death' | 'custom';
|
|
7
|
-
entityId: string;
|
|
8
|
-
entityType: string;
|
|
9
|
-
createdAt: Date;
|
|
10
|
-
metadata?: Record<string, unknown>;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Index manager interface for tracking various entities
|
|
14
|
-
*/
|
|
15
|
-
export interface IIndexManager {
|
|
16
|
-
/**
|
|
17
|
-
* Index a job for an entity
|
|
18
|
-
*/
|
|
19
|
-
indexJob(entityType: string, entityId: string, jobId: string): Promise<void>;
|
|
20
|
-
/**
|
|
21
|
-
* Remove job index
|
|
22
|
-
*/
|
|
23
|
-
removeJobIndex(entityType: string, entityId: string, jobId: string): Promise<void>;
|
|
24
|
-
/**
|
|
25
|
-
* Get all job IDs for an entity
|
|
26
|
-
*/
|
|
27
|
-
getEntityJobs(entityType: string, entityId: string): Promise<string[]>;
|
|
28
|
-
/**
|
|
29
|
-
* Get all entities with jobs
|
|
30
|
-
*/
|
|
31
|
-
getEntitiesWithJobs(entityType: string): Promise<Record<string, number>>;
|
|
32
|
-
/**
|
|
33
|
-
* Index a worker death signal
|
|
34
|
-
*/
|
|
35
|
-
indexWorkerDeath(entityType: string, entityId: string, deathId: string): Promise<void>;
|
|
36
|
-
/**
|
|
37
|
-
* Remove worker death index
|
|
38
|
-
*/
|
|
39
|
-
removeWorkerDeathIndex(entityType: string, entityId: string, deathId: string): Promise<void>;
|
|
40
|
-
/**
|
|
41
|
-
* Get queued worker deaths for an entity
|
|
42
|
-
*/
|
|
43
|
-
getQueuedWorkerDeaths(entityType: string, entityId: string): Promise<string[]>;
|
|
44
|
-
/**
|
|
45
|
-
* Index entity queue
|
|
46
|
-
*/
|
|
47
|
-
indexEntityQueue(entityType: string, entityId: string): Promise<void>;
|
|
48
|
-
/**
|
|
49
|
-
* Remove entity queue index
|
|
50
|
-
*/
|
|
51
|
-
removeEntityQueueIndex(entityType: string, entityId: string): Promise<void>;
|
|
52
|
-
/**
|
|
53
|
-
* Get all entities with active queues
|
|
54
|
-
*/
|
|
55
|
-
getEntitiesWithQueues(entityType: string): Promise<string[]>;
|
|
56
|
-
/**
|
|
57
|
-
* Index a queue death signal
|
|
58
|
-
*/
|
|
59
|
-
indexQueueDeath(entityType: string, entityId: string): Promise<void>;
|
|
60
|
-
/**
|
|
61
|
-
* Remove queue death index
|
|
62
|
-
*/
|
|
63
|
-
removeQueueDeathIndex(entityType: string, entityId: string): Promise<void>;
|
|
64
|
-
/**
|
|
65
|
-
* Get all entities with queued queue deaths
|
|
66
|
-
*/
|
|
67
|
-
getEntitiesWithQueuedQueueDeaths(entityType: string): Promise<string[]>;
|
|
68
|
-
}
|
|
69
|
-
//# sourceMappingURL=index-tracking.interfaces.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-tracking.interfaces.d.ts","sourceRoot":"","sources":["../../../src/domain/interfaces/index-tracking.interfaces.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;IACtD,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7E;;OAEG;IACH,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnF;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAEvE;;OAEG;IACH,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAEzE;;OAEG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvF;;OAEG;IACH,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7F;;OAEG;IACH,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAE/E;;OAEG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtE;;OAEG;IACH,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5E;;OAEG;IACH,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAE7D;;OAEG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErE;;OAEG;IACH,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3E;;OAEG;IACH,gCAAgC,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACzE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-tracking.interfaces.js","sourceRoot":"","sources":["../../../src/domain/interfaces/index-tracking.interfaces.ts"],"names":[],"mappings":""}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Lock state for a resource
|
|
3
|
-
*/
|
|
4
|
-
export interface IResourceLock {
|
|
5
|
-
resourceId: string;
|
|
6
|
-
resourceType: string;
|
|
7
|
-
ownerId: string;
|
|
8
|
-
ownerType: string;
|
|
9
|
-
acquiredAt: Date;
|
|
10
|
-
expiresAt: Date;
|
|
11
|
-
metadata?: Record<string, unknown>;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Lock acquisition result
|
|
15
|
-
*/
|
|
16
|
-
export interface ILockResult {
|
|
17
|
-
acquired: boolean;
|
|
18
|
-
lock?: IResourceLock;
|
|
19
|
-
reason?: string;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Resource lock service interface for distributed locking
|
|
23
|
-
*/
|
|
24
|
-
export interface IResourceLockService {
|
|
25
|
-
/**
|
|
26
|
-
* Acquire a lock on a resource
|
|
27
|
-
*/
|
|
28
|
-
acquireLock(resourceType: string, resourceId: string, ownerId: string, ownerType: string, ttlSeconds?: number, metadata?: Record<string, unknown>): Promise<ILockResult>;
|
|
29
|
-
/**
|
|
30
|
-
* Release a lock on a resource
|
|
31
|
-
*/
|
|
32
|
-
releaseLock(resourceType: string, resourceId: string): Promise<boolean>;
|
|
33
|
-
/**
|
|
34
|
-
* Check if a resource is locked
|
|
35
|
-
*/
|
|
36
|
-
isLocked(resourceType: string, resourceId: string): Promise<boolean>;
|
|
37
|
-
/**
|
|
38
|
-
* Get lock info for a resource
|
|
39
|
-
*/
|
|
40
|
-
getLockInfo(resourceType: string, resourceId: string): Promise<IResourceLock | null>;
|
|
41
|
-
/**
|
|
42
|
-
* Get all locked resources of a type for an owner
|
|
43
|
-
*/
|
|
44
|
-
getOwnerLocks(ownerType: string, ownerId: string): Promise<IResourceLock[]>;
|
|
45
|
-
/**
|
|
46
|
-
* Get available (unlocked) resource from a pool
|
|
47
|
-
*/
|
|
48
|
-
getAvailableResource(resourceType: string, candidateIds: string[], ownerId: string, ownerType: string, ttlSeconds?: number): Promise<ILockResult>;
|
|
49
|
-
/**
|
|
50
|
-
* Extend lock TTL
|
|
51
|
-
*/
|
|
52
|
-
extendLock(resourceType: string, resourceId: string, ttlSeconds: number): Promise<boolean>;
|
|
53
|
-
}
|
|
54
|
-
//# sourceMappingURL=lock.interfaces.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lock.interfaces.d.ts","sourceRoot":"","sources":["../../../src/domain/interfaces/lock.interfaces.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,IAAI,CAAC;IACjB,SAAS,EAAE,IAAI,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,WAAW,CACT,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO,CAAC,WAAW,CAAC,CAAC;IAExB;;OAEG;IACH,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAExE;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAErE;;OAEG;IACH,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAErF;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAE5E;;OAEG;IACH,oBAAoB,CAClB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EAAE,EACtB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,WAAW,CAAC,CAAC;IAExB;;OAEG;IACH,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC5F"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lock.interfaces.js","sourceRoot":"","sources":["../../../src/domain/interfaces/lock.interfaces.ts"],"names":[],"mappings":""}
|