@orchestr-sh/orchestr 1.7.4 → 1.9.1
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 +666 -0
- package/dist/Cache/CacheManager.d.ts +109 -0
- package/dist/Cache/CacheManager.d.ts.map +1 -0
- package/dist/Cache/CacheManager.js +181 -0
- package/dist/Cache/CacheManager.js.map +1 -0
- package/dist/Cache/CacheServiceProvider.d.ts +19 -0
- package/dist/Cache/CacheServiceProvider.d.ts.map +1 -0
- package/dist/Cache/CacheServiceProvider.js +71 -0
- package/dist/Cache/CacheServiceProvider.js.map +1 -0
- package/dist/Cache/Contracts/Lock.d.ts +31 -0
- package/dist/Cache/Contracts/Lock.d.ts.map +1 -0
- package/dist/Cache/Contracts/Lock.js +3 -0
- package/dist/Cache/Contracts/Lock.js.map +1 -0
- package/dist/Cache/Contracts/Repository.d.ts +59 -0
- package/dist/Cache/Contracts/Repository.d.ts.map +1 -0
- package/dist/Cache/Contracts/Repository.js +9 -0
- package/dist/Cache/Contracts/Repository.js.map +1 -0
- package/dist/Cache/Contracts/Store.d.ts +51 -0
- package/dist/Cache/Contracts/Store.d.ts.map +1 -0
- package/dist/Cache/Contracts/Store.js +3 -0
- package/dist/Cache/Contracts/Store.js.map +1 -0
- package/dist/Cache/Events/CacheFlushed.d.ts +11 -0
- package/dist/Cache/Events/CacheFlushed.d.ts.map +1 -0
- package/dist/Cache/Events/CacheFlushed.js +18 -0
- package/dist/Cache/Events/CacheFlushed.js.map +1 -0
- package/dist/Cache/Events/CacheHit.d.ts +13 -0
- package/dist/Cache/Events/CacheHit.d.ts.map +1 -0
- package/dist/Cache/Events/CacheHit.js +22 -0
- package/dist/Cache/Events/CacheHit.js.map +1 -0
- package/dist/Cache/Events/CacheMissed.d.ts +12 -0
- package/dist/Cache/Events/CacheMissed.d.ts.map +1 -0
- package/dist/Cache/Events/CacheMissed.js +20 -0
- package/dist/Cache/Events/CacheMissed.js.map +1 -0
- package/dist/Cache/Events/KeyForgotten.d.ts +12 -0
- package/dist/Cache/Events/KeyForgotten.d.ts.map +1 -0
- package/dist/Cache/Events/KeyForgotten.js +20 -0
- package/dist/Cache/Events/KeyForgotten.js.map +1 -0
- package/dist/Cache/Events/KeyWritten.d.ts +14 -0
- package/dist/Cache/Events/KeyWritten.d.ts.map +1 -0
- package/dist/Cache/Events/KeyWritten.js +24 -0
- package/dist/Cache/Events/KeyWritten.js.map +1 -0
- package/dist/Cache/Events/index.d.ts +6 -0
- package/dist/Cache/Events/index.d.ts.map +1 -0
- package/dist/Cache/Events/index.js +14 -0
- package/dist/Cache/Events/index.js.map +1 -0
- package/dist/Cache/Locks/CacheLock.d.ts +19 -0
- package/dist/Cache/Locks/CacheLock.d.ts.map +1 -0
- package/dist/Cache/Locks/CacheLock.js +49 -0
- package/dist/Cache/Locks/CacheLock.js.map +1 -0
- package/dist/Cache/Locks/Lock.d.ts +51 -0
- package/dist/Cache/Locks/Lock.d.ts.map +1 -0
- package/dist/Cache/Locks/Lock.js +83 -0
- package/dist/Cache/Locks/Lock.js.map +1 -0
- package/dist/Cache/Locks/LockTimeoutException.d.ts +9 -0
- package/dist/Cache/Locks/LockTimeoutException.d.ts.map +1 -0
- package/dist/Cache/Locks/LockTimeoutException.js +16 -0
- package/dist/Cache/Locks/LockTimeoutException.js.map +1 -0
- package/dist/Cache/Locks/index.d.ts +4 -0
- package/dist/Cache/Locks/index.d.ts.map +1 -0
- package/dist/Cache/Locks/index.js +10 -0
- package/dist/Cache/Locks/index.js.map +1 -0
- package/dist/Cache/Repository.d.ts +61 -0
- package/dist/Cache/Repository.d.ts.map +1 -0
- package/dist/Cache/Repository.js +207 -0
- package/dist/Cache/Repository.js.map +1 -0
- package/dist/Cache/Stores/ArrayStore.d.ts +44 -0
- package/dist/Cache/Stores/ArrayStore.d.ts.map +1 -0
- package/dist/Cache/Stores/ArrayStore.js +118 -0
- package/dist/Cache/Stores/ArrayStore.js.map +1 -0
- package/dist/Cache/Stores/DatabaseStore.d.ts +44 -0
- package/dist/Cache/Stores/DatabaseStore.d.ts.map +1 -0
- package/dist/Cache/Stores/DatabaseStore.js +165 -0
- package/dist/Cache/Stores/DatabaseStore.js.map +1 -0
- package/dist/Cache/Stores/FileStore.d.ts +50 -0
- package/dist/Cache/Stores/FileStore.d.ts.map +1 -0
- package/dist/Cache/Stores/FileStore.js +194 -0
- package/dist/Cache/Stores/FileStore.js.map +1 -0
- package/dist/Cache/Stores/NullStore.d.ts +22 -0
- package/dist/Cache/Stores/NullStore.d.ts.map +1 -0
- package/dist/Cache/Stores/NullStore.js +49 -0
- package/dist/Cache/Stores/NullStore.js.map +1 -0
- package/dist/Cache/Stores/index.d.ts +5 -0
- package/dist/Cache/Stores/index.d.ts.map +1 -0
- package/dist/Cache/Stores/index.js +12 -0
- package/dist/Cache/Stores/index.js.map +1 -0
- package/dist/Cache/Tags/TagSet.d.ts +39 -0
- package/dist/Cache/Tags/TagSet.d.ts.map +1 -0
- package/dist/Cache/Tags/TagSet.js +72 -0
- package/dist/Cache/Tags/TagSet.js.map +1 -0
- package/dist/Cache/Tags/TaggedCache.d.ts +54 -0
- package/dist/Cache/Tags/TaggedCache.d.ts.map +1 -0
- package/dist/Cache/Tags/TaggedCache.js +125 -0
- package/dist/Cache/Tags/TaggedCache.js.map +1 -0
- package/dist/Cache/Tags/index.d.ts +3 -0
- package/dist/Cache/Tags/index.d.ts.map +1 -0
- package/dist/Cache/Tags/index.js +8 -0
- package/dist/Cache/Tags/index.js.map +1 -0
- package/dist/Cache/index.d.ts +27 -0
- package/dist/Cache/index.d.ts.map +1 -0
- package/dist/Cache/index.js +48 -0
- package/dist/Cache/index.js.map +1 -0
- package/dist/Console/Commands/CacheClearCommand.d.ts +16 -0
- package/dist/Console/Commands/CacheClearCommand.d.ts.map +1 -0
- package/dist/Console/Commands/CacheClearCommand.js +33 -0
- package/dist/Console/Commands/CacheClearCommand.js.map +1 -0
- package/dist/Console/Commands/CacheForgetCommand.d.ts +16 -0
- package/dist/Console/Commands/CacheForgetCommand.d.ts.map +1 -0
- package/dist/Console/Commands/CacheForgetCommand.js +39 -0
- package/dist/Console/Commands/CacheForgetCommand.js.map +1 -0
- package/dist/Console/Commands/CacheTableCommand.d.ts +17 -0
- package/dist/Console/Commands/CacheTableCommand.d.ts.map +1 -0
- package/dist/Console/Commands/CacheTableCommand.js +92 -0
- package/dist/Console/Commands/CacheTableCommand.js.map +1 -0
- package/dist/Console/Commands/MakeJobCommand.d.ts +20 -0
- package/dist/Console/Commands/MakeJobCommand.d.ts.map +1 -0
- package/dist/Console/Commands/MakeJobCommand.js +165 -0
- package/dist/Console/Commands/MakeJobCommand.js.map +1 -0
- package/dist/Console/Commands/QueueBatchesTableCommand.d.ts +17 -0
- package/dist/Console/Commands/QueueBatchesTableCommand.d.ts.map +1 -0
- package/dist/Console/Commands/QueueBatchesTableCommand.js +92 -0
- package/dist/Console/Commands/QueueBatchesTableCommand.js.map +1 -0
- package/dist/Console/Commands/QueueClearCommand.d.ts +16 -0
- package/dist/Console/Commands/QueueClearCommand.d.ts.map +1 -0
- package/dist/Console/Commands/QueueClearCommand.js +29 -0
- package/dist/Console/Commands/QueueClearCommand.js.map +1 -0
- package/dist/Console/Commands/QueueFailedCommand.d.ts +18 -0
- package/dist/Console/Commands/QueueFailedCommand.d.ts.map +1 -0
- package/dist/Console/Commands/QueueFailedCommand.js +76 -0
- package/dist/Console/Commands/QueueFailedCommand.js.map +1 -0
- package/dist/Console/Commands/QueueFailedTableCommand.d.ts +17 -0
- package/dist/Console/Commands/QueueFailedTableCommand.d.ts.map +1 -0
- package/dist/Console/Commands/QueueFailedTableCommand.js +89 -0
- package/dist/Console/Commands/QueueFailedTableCommand.js.map +1 -0
- package/dist/Console/Commands/QueueFlushCommand.d.ts +18 -0
- package/dist/Console/Commands/QueueFlushCommand.d.ts.map +1 -0
- package/dist/Console/Commands/QueueFlushCommand.js +44 -0
- package/dist/Console/Commands/QueueFlushCommand.js.map +1 -0
- package/dist/Console/Commands/QueueForgetCommand.d.ts +18 -0
- package/dist/Console/Commands/QueueForgetCommand.d.ts.map +1 -0
- package/dist/Console/Commands/QueueForgetCommand.js +48 -0
- package/dist/Console/Commands/QueueForgetCommand.js.map +1 -0
- package/dist/Console/Commands/QueueMonitorCommand.d.ts +16 -0
- package/dist/Console/Commands/QueueMonitorCommand.d.ts.map +1 -0
- package/dist/Console/Commands/QueueMonitorCommand.js +42 -0
- package/dist/Console/Commands/QueueMonitorCommand.js.map +1 -0
- package/dist/Console/Commands/QueuePruneBatchesCommand.d.ts +16 -0
- package/dist/Console/Commands/QueuePruneBatchesCommand.d.ts.map +1 -0
- package/dist/Console/Commands/QueuePruneBatchesCommand.js +44 -0
- package/dist/Console/Commands/QueuePruneBatchesCommand.js.map +1 -0
- package/dist/Console/Commands/QueuePruneFailedCommand.d.ts +18 -0
- package/dist/Console/Commands/QueuePruneFailedCommand.d.ts.map +1 -0
- package/dist/Console/Commands/QueuePruneFailedCommand.js +39 -0
- package/dist/Console/Commands/QueuePruneFailedCommand.js.map +1 -0
- package/dist/Console/Commands/QueueRestartCommand.d.ts +16 -0
- package/dist/Console/Commands/QueueRestartCommand.d.ts.map +1 -0
- package/dist/Console/Commands/QueueRestartCommand.js +34 -0
- package/dist/Console/Commands/QueueRestartCommand.js.map +1 -0
- package/dist/Console/Commands/QueueRetryCommand.d.ts +20 -0
- package/dist/Console/Commands/QueueRetryCommand.d.ts.map +1 -0
- package/dist/Console/Commands/QueueRetryCommand.js +77 -0
- package/dist/Console/Commands/QueueRetryCommand.js.map +1 -0
- package/dist/Console/Commands/QueueTableCommand.d.ts +17 -0
- package/dist/Console/Commands/QueueTableCommand.d.ts.map +1 -0
- package/dist/Console/Commands/QueueTableCommand.js +89 -0
- package/dist/Console/Commands/QueueTableCommand.js.map +1 -0
- package/dist/Console/Commands/QueueWorkCommand.d.ts +16 -0
- package/dist/Console/Commands/QueueWorkCommand.d.ts.map +1 -0
- package/dist/Console/Commands/QueueWorkCommand.js +51 -0
- package/dist/Console/Commands/QueueWorkCommand.js.map +1 -0
- package/dist/Facades/Bus.d.ts +62 -0
- package/dist/Facades/Bus.d.ts.map +1 -0
- package/dist/Facades/Bus.js +102 -0
- package/dist/Facades/Bus.js.map +1 -0
- package/dist/Facades/Cache.d.ts +41 -0
- package/dist/Facades/Cache.d.ts.map +1 -0
- package/dist/Facades/Cache.js +78 -0
- package/dist/Facades/Cache.js.map +1 -0
- package/dist/Facades/Queue.d.ts +42 -0
- package/dist/Facades/Queue.d.ts.map +1 -0
- package/dist/Facades/Queue.js +71 -0
- package/dist/Facades/Queue.js.map +1 -0
- package/dist/Facades/index.d.ts +3 -0
- package/dist/Facades/index.d.ts.map +1 -1
- package/dist/Facades/index.js +7 -1
- package/dist/Facades/index.js.map +1 -1
- package/dist/Queue/Batching/Batch.d.ts +86 -0
- package/dist/Queue/Batching/Batch.d.ts.map +1 -0
- package/dist/Queue/Batching/Batch.js +170 -0
- package/dist/Queue/Batching/Batch.js.map +1 -0
- package/dist/Queue/Batching/PendingBatch.d.ts +72 -0
- package/dist/Queue/Batching/PendingBatch.d.ts.map +1 -0
- package/dist/Queue/Batching/PendingBatch.js +122 -0
- package/dist/Queue/Batching/PendingBatch.js.map +1 -0
- package/dist/Queue/Batching/index.d.ts +3 -0
- package/dist/Queue/Batching/index.d.ts.map +1 -0
- package/dist/Queue/Batching/index.js +8 -0
- package/dist/Queue/Batching/index.js.map +1 -0
- package/dist/Queue/Concerns/Dispatchable.d.ts +36 -0
- package/dist/Queue/Concerns/Dispatchable.d.ts.map +1 -0
- package/dist/Queue/Concerns/Dispatchable.js +102 -0
- package/dist/Queue/Concerns/Dispatchable.js.map +1 -0
- package/dist/Queue/Contracts/QueueDriver.d.ts +67 -0
- package/dist/Queue/Contracts/QueueDriver.d.ts.map +1 -0
- package/dist/Queue/Contracts/QueueDriver.js +9 -0
- package/dist/Queue/Contracts/QueueDriver.js.map +1 -0
- package/dist/Queue/Contracts/QueueableJob.d.ts +74 -0
- package/dist/Queue/Contracts/QueueableJob.d.ts.map +1 -0
- package/dist/Queue/Contracts/QueueableJob.js +9 -0
- package/dist/Queue/Contracts/QueueableJob.js.map +1 -0
- package/dist/Queue/Contracts/ShouldBeUnique.d.ts +43 -0
- package/dist/Queue/Contracts/ShouldBeUnique.d.ts.map +1 -0
- package/dist/Queue/Contracts/ShouldBeUnique.js +12 -0
- package/dist/Queue/Contracts/ShouldBeUnique.js.map +1 -0
- package/dist/Queue/Drivers/DatabaseDriver.d.ts +39 -0
- package/dist/Queue/Drivers/DatabaseDriver.d.ts.map +1 -0
- package/dist/Queue/Drivers/DatabaseDriver.js +176 -0
- package/dist/Queue/Drivers/DatabaseDriver.js.map +1 -0
- package/dist/Queue/Drivers/NullDriver.d.ts +30 -0
- package/dist/Queue/Drivers/NullDriver.d.ts.map +1 -0
- package/dist/Queue/Drivers/NullDriver.js +57 -0
- package/dist/Queue/Drivers/NullDriver.js.map +1 -0
- package/dist/Queue/Drivers/SyncDriver.d.ts +29 -0
- package/dist/Queue/Drivers/SyncDriver.d.ts.map +1 -0
- package/dist/Queue/Drivers/SyncDriver.js +67 -0
- package/dist/Queue/Drivers/SyncDriver.js.map +1 -0
- package/dist/Queue/Drivers/index.d.ts +4 -0
- package/dist/Queue/Drivers/index.d.ts.map +1 -0
- package/dist/Queue/Drivers/index.js +10 -0
- package/dist/Queue/Drivers/index.js.map +1 -0
- package/dist/Queue/Events/JobExceptionOccurred.d.ts +13 -0
- package/dist/Queue/Events/JobExceptionOccurred.d.ts.map +1 -0
- package/dist/Queue/Events/JobExceptionOccurred.js +20 -0
- package/dist/Queue/Events/JobExceptionOccurred.js.map +1 -0
- package/dist/Queue/Events/JobFailed.d.ts +13 -0
- package/dist/Queue/Events/JobFailed.d.ts.map +1 -0
- package/dist/Queue/Events/JobFailed.js +20 -0
- package/dist/Queue/Events/JobFailed.js.map +1 -0
- package/dist/Queue/Events/JobProcessed.d.ts +12 -0
- package/dist/Queue/Events/JobProcessed.d.ts.map +1 -0
- package/dist/Queue/Events/JobProcessed.js +18 -0
- package/dist/Queue/Events/JobProcessed.js.map +1 -0
- package/dist/Queue/Events/JobProcessing.d.ts +12 -0
- package/dist/Queue/Events/JobProcessing.d.ts.map +1 -0
- package/dist/Queue/Events/JobProcessing.js +18 -0
- package/dist/Queue/Events/JobProcessing.js.map +1 -0
- package/dist/Queue/Events/JobQueued.d.ts +14 -0
- package/dist/Queue/Events/JobQueued.d.ts.map +1 -0
- package/dist/Queue/Events/JobQueued.js +22 -0
- package/dist/Queue/Events/JobQueued.js.map +1 -0
- package/dist/Queue/Events/JobRetryRequested.d.ts +12 -0
- package/dist/Queue/Events/JobRetryRequested.d.ts.map +1 -0
- package/dist/Queue/Events/JobRetryRequested.js +20 -0
- package/dist/Queue/Events/JobRetryRequested.js.map +1 -0
- package/dist/Queue/Events/WorkerStopping.d.ts +11 -0
- package/dist/Queue/Events/WorkerStopping.d.ts.map +1 -0
- package/dist/Queue/Events/WorkerStopping.js +18 -0
- package/dist/Queue/Events/WorkerStopping.js.map +1 -0
- package/dist/Queue/Events/index.d.ts +8 -0
- package/dist/Queue/Events/index.d.ts.map +1 -0
- package/dist/Queue/Events/index.js +18 -0
- package/dist/Queue/Events/index.js.map +1 -0
- package/dist/Queue/Failed/DatabaseFailedJobProvider.d.ts +33 -0
- package/dist/Queue/Failed/DatabaseFailedJobProvider.d.ts.map +1 -0
- package/dist/Queue/Failed/DatabaseFailedJobProvider.js +100 -0
- package/dist/Queue/Failed/DatabaseFailedJobProvider.js.map +1 -0
- package/dist/Queue/Failed/FailedJobProvider.d.ts +42 -0
- package/dist/Queue/Failed/FailedJobProvider.d.ts.map +1 -0
- package/dist/Queue/Failed/FailedJobProvider.js +9 -0
- package/dist/Queue/Failed/FailedJobProvider.js.map +1 -0
- package/dist/Queue/Job.d.ts +194 -0
- package/dist/Queue/Job.d.ts.map +1 -0
- package/dist/Queue/Job.js +286 -0
- package/dist/Queue/Job.js.map +1 -0
- package/dist/Queue/JobPayload.d.ts +37 -0
- package/dist/Queue/JobPayload.d.ts.map +1 -0
- package/dist/Queue/JobPayload.js +46 -0
- package/dist/Queue/JobPayload.js.map +1 -0
- package/dist/Queue/Middleware/JobMiddleware.d.ts +29 -0
- package/dist/Queue/Middleware/JobMiddleware.d.ts.map +1 -0
- package/dist/Queue/Middleware/JobMiddleware.js +21 -0
- package/dist/Queue/Middleware/JobMiddleware.js.map +1 -0
- package/dist/Queue/Middleware/RateLimited.d.ts +56 -0
- package/dist/Queue/Middleware/RateLimited.d.ts.map +1 -0
- package/dist/Queue/Middleware/RateLimited.js +83 -0
- package/dist/Queue/Middleware/RateLimited.js.map +1 -0
- package/dist/Queue/Middleware/ThrottlesExceptions.d.ts +71 -0
- package/dist/Queue/Middleware/ThrottlesExceptions.d.ts.map +1 -0
- package/dist/Queue/Middleware/ThrottlesExceptions.js +119 -0
- package/dist/Queue/Middleware/ThrottlesExceptions.js.map +1 -0
- package/dist/Queue/Middleware/WithoutOverlapping.d.ts +64 -0
- package/dist/Queue/Middleware/WithoutOverlapping.d.ts.map +1 -0
- package/dist/Queue/Middleware/WithoutOverlapping.js +103 -0
- package/dist/Queue/Middleware/WithoutOverlapping.js.map +1 -0
- package/dist/Queue/Middleware/index.d.ts +5 -0
- package/dist/Queue/Middleware/index.d.ts.map +1 -0
- package/dist/Queue/Middleware/index.js +10 -0
- package/dist/Queue/Middleware/index.js.map +1 -0
- package/dist/Queue/PendingChain.d.ts +63 -0
- package/dist/Queue/PendingChain.d.ts.map +1 -0
- package/dist/Queue/PendingChain.js +111 -0
- package/dist/Queue/PendingChain.js.map +1 -0
- package/dist/Queue/PendingDispatch.d.ts +66 -0
- package/dist/Queue/PendingDispatch.d.ts.map +1 -0
- package/dist/Queue/PendingDispatch.js +101 -0
- package/dist/Queue/PendingDispatch.js.map +1 -0
- package/dist/Queue/QueueManager.d.ts +151 -0
- package/dist/Queue/QueueManager.d.ts.map +1 -0
- package/dist/Queue/QueueManager.js +227 -0
- package/dist/Queue/QueueManager.js.map +1 -0
- package/dist/Queue/QueueServiceProvider.d.ts +19 -0
- package/dist/Queue/QueueServiceProvider.d.ts.map +1 -0
- package/dist/Queue/QueueServiceProvider.js +75 -0
- package/dist/Queue/QueueServiceProvider.js.map +1 -0
- package/dist/Queue/Workers/Worker.d.ts +99 -0
- package/dist/Queue/Workers/Worker.d.ts.map +1 -0
- package/dist/Queue/Workers/Worker.js +324 -0
- package/dist/Queue/Workers/Worker.js.map +1 -0
- package/dist/Queue/Workers/WorkerOptions.d.ts +62 -0
- package/dist/Queue/Workers/WorkerOptions.d.ts.map +1 -0
- package/dist/Queue/Workers/WorkerOptions.js +23 -0
- package/dist/Queue/Workers/WorkerOptions.js.map +1 -0
- package/dist/Queue/index.d.ts +41 -0
- package/dist/Queue/index.d.ts.map +1 -0
- package/dist/Queue/index.js +67 -0
- package/dist/Queue/index.js.map +1 -0
- package/dist/index.d.ts +75 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +141 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CacheManager
|
|
3
|
+
*
|
|
4
|
+
* Manages multiple cache store connections.
|
|
5
|
+
* Follows the Manager pattern established by DatabaseManager and QueueManager.
|
|
6
|
+
*
|
|
7
|
+
* Mirrors Laravel's Illuminate\Cache\CacheManager.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* const manager = new CacheManager({
|
|
12
|
+
* default: 'file',
|
|
13
|
+
* prefix: 'app_',
|
|
14
|
+
* stores: {
|
|
15
|
+
* file: { driver: 'file', path: 'storage/cache' },
|
|
16
|
+
* array: { driver: 'array' },
|
|
17
|
+
* database: { driver: 'database', table: 'cache' },
|
|
18
|
+
* },
|
|
19
|
+
* });
|
|
20
|
+
*
|
|
21
|
+
* // Use default store
|
|
22
|
+
* const repo = manager.store();
|
|
23
|
+
* await repo.put('key', 'value', 3600);
|
|
24
|
+
*
|
|
25
|
+
* // Use specific store
|
|
26
|
+
* const redis = manager.store('redis');
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
import type { Store } from './Contracts/Store';
|
|
30
|
+
import { Repository } from './Repository';
|
|
31
|
+
export interface StoreConfig {
|
|
32
|
+
driver: string;
|
|
33
|
+
[key: string]: any;
|
|
34
|
+
}
|
|
35
|
+
export interface CacheConfig {
|
|
36
|
+
default: string;
|
|
37
|
+
prefix: string;
|
|
38
|
+
stores: Record<string, StoreConfig>;
|
|
39
|
+
}
|
|
40
|
+
export type StoreFactory = (config: StoreConfig) => Store;
|
|
41
|
+
export declare class CacheManager {
|
|
42
|
+
protected config: CacheConfig;
|
|
43
|
+
protected stores: Map<string, Repository>;
|
|
44
|
+
protected driverFactories: Map<string, StoreFactory>;
|
|
45
|
+
constructor(config: CacheConfig);
|
|
46
|
+
/**
|
|
47
|
+
* Register a cache store driver factory
|
|
48
|
+
*/
|
|
49
|
+
registerDriver(name: string, factory: StoreFactory): void;
|
|
50
|
+
/**
|
|
51
|
+
* Get a cache store instance by name
|
|
52
|
+
*/
|
|
53
|
+
store(name?: string): Repository;
|
|
54
|
+
/**
|
|
55
|
+
* Create a new cache store instance
|
|
56
|
+
*/
|
|
57
|
+
protected createStore(name: string): Repository;
|
|
58
|
+
/**
|
|
59
|
+
* Extend the manager with a custom driver
|
|
60
|
+
*/
|
|
61
|
+
extend(driver: string, factory: StoreFactory): void;
|
|
62
|
+
/**
|
|
63
|
+
* Get the default store name
|
|
64
|
+
*/
|
|
65
|
+
getDefaultDriver(): string;
|
|
66
|
+
/**
|
|
67
|
+
* Set the default store name
|
|
68
|
+
*/
|
|
69
|
+
setDefaultDriver(name: string): void;
|
|
70
|
+
/**
|
|
71
|
+
* Get the cache prefix
|
|
72
|
+
*/
|
|
73
|
+
getPrefix(): string;
|
|
74
|
+
/**
|
|
75
|
+
* Get all configured store names
|
|
76
|
+
*/
|
|
77
|
+
getStoreNames(): string[];
|
|
78
|
+
/**
|
|
79
|
+
* Get the store configuration
|
|
80
|
+
*/
|
|
81
|
+
getStoreConfig(name?: string): StoreConfig;
|
|
82
|
+
/**
|
|
83
|
+
* Get the full configuration
|
|
84
|
+
*/
|
|
85
|
+
getConfig(): CacheConfig;
|
|
86
|
+
/**
|
|
87
|
+
* Purge a store from the cache (remove the cached instance)
|
|
88
|
+
*/
|
|
89
|
+
purge(name?: string): void;
|
|
90
|
+
/**
|
|
91
|
+
* Purge all cached store instances
|
|
92
|
+
*/
|
|
93
|
+
purgeAll(): void;
|
|
94
|
+
get(key: string, defaultValue?: any): Promise<any>;
|
|
95
|
+
put(key: string, value: any, ttl?: number | Date): Promise<boolean>;
|
|
96
|
+
has(key: string): Promise<boolean>;
|
|
97
|
+
forget(key: string): Promise<boolean>;
|
|
98
|
+
flush(): Promise<boolean>;
|
|
99
|
+
remember(key: string, ttl: number | Date, callback: () => any | Promise<any>): Promise<any>;
|
|
100
|
+
rememberForever(key: string, callback: () => any | Promise<any>): Promise<any>;
|
|
101
|
+
forever(key: string, value: any): Promise<boolean>;
|
|
102
|
+
pull(key: string, defaultValue?: any): Promise<any>;
|
|
103
|
+
many(keys: string[]): Promise<Record<string, any>>;
|
|
104
|
+
putMany(values: Record<string, any>, ttl?: number | Date): Promise<boolean>;
|
|
105
|
+
increment(key: string, value?: number): Promise<number | boolean>;
|
|
106
|
+
decrement(key: string, value?: number): Promise<number | boolean>;
|
|
107
|
+
add(key: string, value: any, ttl?: number | Date): Promise<boolean>;
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=CacheManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CacheManager.d.ts","sourceRoot":"","sources":["../../src/Cache/CacheManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* CacheManager
|
|
4
|
+
*
|
|
5
|
+
* Manages multiple cache store connections.
|
|
6
|
+
* Follows the Manager pattern established by DatabaseManager and QueueManager.
|
|
7
|
+
*
|
|
8
|
+
* Mirrors Laravel's Illuminate\Cache\CacheManager.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* const manager = new CacheManager({
|
|
13
|
+
* default: 'file',
|
|
14
|
+
* prefix: 'app_',
|
|
15
|
+
* stores: {
|
|
16
|
+
* file: { driver: 'file', path: 'storage/cache' },
|
|
17
|
+
* array: { driver: 'array' },
|
|
18
|
+
* database: { driver: 'database', table: 'cache' },
|
|
19
|
+
* },
|
|
20
|
+
* });
|
|
21
|
+
*
|
|
22
|
+
* // Use default store
|
|
23
|
+
* const repo = manager.store();
|
|
24
|
+
* await repo.put('key', 'value', 3600);
|
|
25
|
+
*
|
|
26
|
+
* // Use specific store
|
|
27
|
+
* const redis = manager.store('redis');
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
31
|
+
exports.CacheManager = void 0;
|
|
32
|
+
const Repository_1 = require("./Repository");
|
|
33
|
+
class CacheManager {
|
|
34
|
+
config;
|
|
35
|
+
stores = new Map();
|
|
36
|
+
driverFactories = new Map();
|
|
37
|
+
constructor(config) {
|
|
38
|
+
this.config = config;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Register a cache store driver factory
|
|
42
|
+
*/
|
|
43
|
+
registerDriver(name, factory) {
|
|
44
|
+
this.driverFactories.set(name, factory);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Get a cache store instance by name
|
|
48
|
+
*/
|
|
49
|
+
store(name) {
|
|
50
|
+
const storeName = name || this.config.default;
|
|
51
|
+
if (this.stores.has(storeName)) {
|
|
52
|
+
return this.stores.get(storeName);
|
|
53
|
+
}
|
|
54
|
+
const repository = this.createStore(storeName);
|
|
55
|
+
this.stores.set(storeName, repository);
|
|
56
|
+
return repository;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Create a new cache store instance
|
|
60
|
+
*/
|
|
61
|
+
createStore(name) {
|
|
62
|
+
const storeConfig = this.config.stores[name];
|
|
63
|
+
if (!storeConfig) {
|
|
64
|
+
throw new Error(`Cache store [${name}] not configured.`);
|
|
65
|
+
}
|
|
66
|
+
const factory = this.driverFactories.get(storeConfig.driver);
|
|
67
|
+
if (!factory) {
|
|
68
|
+
throw new Error(`Cache driver [${storeConfig.driver}] not registered. ` +
|
|
69
|
+
`Available drivers: ${Array.from(this.driverFactories.keys()).join(', ')}`);
|
|
70
|
+
}
|
|
71
|
+
const store = factory(storeConfig);
|
|
72
|
+
const repository = new Repository_1.Repository(store, storeConfig);
|
|
73
|
+
repository.setStoreName(name);
|
|
74
|
+
return repository;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Extend the manager with a custom driver
|
|
78
|
+
*/
|
|
79
|
+
extend(driver, factory) {
|
|
80
|
+
this.registerDriver(driver, factory);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Get the default store name
|
|
84
|
+
*/
|
|
85
|
+
getDefaultDriver() {
|
|
86
|
+
return this.config.default;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Set the default store name
|
|
90
|
+
*/
|
|
91
|
+
setDefaultDriver(name) {
|
|
92
|
+
this.config.default = name;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Get the cache prefix
|
|
96
|
+
*/
|
|
97
|
+
getPrefix() {
|
|
98
|
+
return this.config.prefix;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Get all configured store names
|
|
102
|
+
*/
|
|
103
|
+
getStoreNames() {
|
|
104
|
+
return Object.keys(this.config.stores);
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Get the store configuration
|
|
108
|
+
*/
|
|
109
|
+
getStoreConfig(name) {
|
|
110
|
+
const storeName = name || this.config.default;
|
|
111
|
+
const config = this.config.stores[storeName];
|
|
112
|
+
if (!config) {
|
|
113
|
+
throw new Error(`Cache store [${storeName}] not configured.`);
|
|
114
|
+
}
|
|
115
|
+
return config;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Get the full configuration
|
|
119
|
+
*/
|
|
120
|
+
getConfig() {
|
|
121
|
+
return this.config;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Purge a store from the cache (remove the cached instance)
|
|
125
|
+
*/
|
|
126
|
+
purge(name) {
|
|
127
|
+
const storeName = name || this.config.default;
|
|
128
|
+
this.stores.delete(storeName);
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Purge all cached store instances
|
|
132
|
+
*/
|
|
133
|
+
purgeAll() {
|
|
134
|
+
this.stores.clear();
|
|
135
|
+
}
|
|
136
|
+
// --- Proxy methods to default store for convenience ---
|
|
137
|
+
async get(key, defaultValue) {
|
|
138
|
+
return this.store().get(key, defaultValue);
|
|
139
|
+
}
|
|
140
|
+
async put(key, value, ttl) {
|
|
141
|
+
return this.store().put(key, value, ttl);
|
|
142
|
+
}
|
|
143
|
+
async has(key) {
|
|
144
|
+
return this.store().has(key);
|
|
145
|
+
}
|
|
146
|
+
async forget(key) {
|
|
147
|
+
return this.store().forget(key);
|
|
148
|
+
}
|
|
149
|
+
async flush() {
|
|
150
|
+
return this.store().flush();
|
|
151
|
+
}
|
|
152
|
+
async remember(key, ttl, callback) {
|
|
153
|
+
return this.store().remember(key, ttl, callback);
|
|
154
|
+
}
|
|
155
|
+
async rememberForever(key, callback) {
|
|
156
|
+
return this.store().rememberForever(key, callback);
|
|
157
|
+
}
|
|
158
|
+
async forever(key, value) {
|
|
159
|
+
return this.store().forever(key, value);
|
|
160
|
+
}
|
|
161
|
+
async pull(key, defaultValue) {
|
|
162
|
+
return this.store().pull(key, defaultValue);
|
|
163
|
+
}
|
|
164
|
+
async many(keys) {
|
|
165
|
+
return this.store().many(keys);
|
|
166
|
+
}
|
|
167
|
+
async putMany(values, ttl) {
|
|
168
|
+
return this.store().putMany(values, ttl);
|
|
169
|
+
}
|
|
170
|
+
async increment(key, value) {
|
|
171
|
+
return this.store().increment(key, value);
|
|
172
|
+
}
|
|
173
|
+
async decrement(key, value) {
|
|
174
|
+
return this.store().decrement(key, value);
|
|
175
|
+
}
|
|
176
|
+
async add(key, value, ttl) {
|
|
177
|
+
return this.store().add(key, value, ttl);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
exports.CacheManager = CacheManager;
|
|
181
|
+
//# sourceMappingURL=CacheManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CacheManager.js","sourceRoot":"","sources":["../../src/Cache/CacheManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CacheServiceProvider
|
|
3
|
+
*
|
|
4
|
+
* Registers cache services into the container.
|
|
5
|
+
* Mirrors Laravel's Illuminate\Cache\CacheServiceProvider.
|
|
6
|
+
*/
|
|
7
|
+
import { ServiceProvider } from '../Foundation/ServiceProvider';
|
|
8
|
+
import type { CacheConfig } from './CacheManager';
|
|
9
|
+
export declare class CacheServiceProvider extends ServiceProvider {
|
|
10
|
+
/**
|
|
11
|
+
* Register cache services
|
|
12
|
+
*/
|
|
13
|
+
register(): void;
|
|
14
|
+
/**
|
|
15
|
+
* Get the cache configuration
|
|
16
|
+
*/
|
|
17
|
+
protected getConfig(): CacheConfig;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=CacheServiceProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CacheServiceProvider.d.ts","sourceRoot":"","sources":["../../src/Cache/CacheServiceProvider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAMlD,qBAAa,oBAAqB,SAAQ,eAAe;IACvD;;OAEG;IACH,QAAQ,IAAI,IAAI;IA+BhB;;OAEG;IACH,SAAS,CAAC,SAAS,IAAI,WAAW;CA8BnC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* CacheServiceProvider
|
|
4
|
+
*
|
|
5
|
+
* Registers cache services into the container.
|
|
6
|
+
* Mirrors Laravel's Illuminate\Cache\CacheServiceProvider.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.CacheServiceProvider = void 0;
|
|
10
|
+
const ServiceProvider_1 = require("../Foundation/ServiceProvider");
|
|
11
|
+
const CacheManager_1 = require("./CacheManager");
|
|
12
|
+
const ArrayStore_1 = require("./Stores/ArrayStore");
|
|
13
|
+
const FileStore_1 = require("./Stores/FileStore");
|
|
14
|
+
const DatabaseStore_1 = require("./Stores/DatabaseStore");
|
|
15
|
+
const NullStore_1 = require("./Stores/NullStore");
|
|
16
|
+
class CacheServiceProvider extends ServiceProvider_1.ServiceProvider {
|
|
17
|
+
/**
|
|
18
|
+
* Register cache services
|
|
19
|
+
*/
|
|
20
|
+
register() {
|
|
21
|
+
this.app.singleton('cache', () => {
|
|
22
|
+
const config = this.getConfig();
|
|
23
|
+
const manager = new CacheManager_1.CacheManager(config);
|
|
24
|
+
// Register built-in drivers
|
|
25
|
+
manager.registerDriver('array', (storeConfig) => new ArrayStore_1.ArrayStore(storeConfig, config.prefix));
|
|
26
|
+
manager.registerDriver('file', (storeConfig) => new FileStore_1.FileStore(storeConfig, config.prefix));
|
|
27
|
+
manager.registerDriver('database', (storeConfig) => new DatabaseStore_1.DatabaseStore(storeConfig, config.prefix, this.app));
|
|
28
|
+
manager.registerDriver('null', () => new NullStore_1.NullStore());
|
|
29
|
+
return manager;
|
|
30
|
+
});
|
|
31
|
+
// Bind the default store directly for convenience
|
|
32
|
+
this.app.singleton('cache.store', () => {
|
|
33
|
+
return this.app.make('cache').store();
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Get the cache configuration
|
|
38
|
+
*/
|
|
39
|
+
getConfig() {
|
|
40
|
+
try {
|
|
41
|
+
const configService = this.app.make('config');
|
|
42
|
+
const cacheConfig = configService?.items?.cache || configService?.get?.('cache');
|
|
43
|
+
if (cacheConfig) {
|
|
44
|
+
return {
|
|
45
|
+
default: cacheConfig.default || 'array',
|
|
46
|
+
prefix: cacheConfig.prefix || 'orchestr_cache_',
|
|
47
|
+
stores: cacheConfig.stores || { array: { driver: 'array' } },
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
// Config service not available
|
|
53
|
+
}
|
|
54
|
+
// Default configuration
|
|
55
|
+
return {
|
|
56
|
+
default: 'array',
|
|
57
|
+
prefix: 'orchestr_cache_',
|
|
58
|
+
stores: {
|
|
59
|
+
array: {
|
|
60
|
+
driver: 'array',
|
|
61
|
+
serialize: false,
|
|
62
|
+
},
|
|
63
|
+
null: {
|
|
64
|
+
driver: 'null',
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
exports.CacheServiceProvider = CacheServiceProvider;
|
|
71
|
+
//# sourceMappingURL=CacheServiceProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CacheServiceProvider.js","sourceRoot":"","sources":["../../src/Cache/CacheServiceProvider.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,mEAAgE;AAChE,iDAA8C;AAE9C,oDAAiD;AACjD,kDAA+C;AAC/C,0DAAuD;AACvD,kDAA+C;AAE/C,MAAa,oBAAqB,SAAQ,iCAAe;IACvD;;OAEG;IACH,QAAQ;QACN,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE;YAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,IAAI,2BAAY,CAAC,MAAM,CAAC,CAAC;YAEzC,4BAA4B;YAC5B,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,EAAE,CAC9C,IAAI,uBAAU,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAC3C,CAAC;YAEF,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,EAAE,CAC7C,IAAI,qBAAS,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAC1C,CAAC;YAEF,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,EAAE,CACjD,IAAI,6BAAa,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CACxD,CAAC;YAEF,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAClC,IAAI,qBAAS,EAAE,CAChB,CAAC;YAEF,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,kDAAkD;QAClD,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,GAAG,EAAE;YACrC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAe,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACO,SAAS;QACjB,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAQ,CAAC;YACrD,MAAM,WAAW,GAAG,aAAa,EAAE,KAAK,EAAE,KAAK,IAAI,aAAa,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;YACjF,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO;oBACL,OAAO,EAAE,WAAW,CAAC,OAAO,IAAI,OAAO;oBACvC,MAAM,EAAE,WAAW,CAAC,MAAM,IAAI,iBAAiB;oBAC/C,MAAM,EAAE,WAAW,CAAC,MAAM,IAAI,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;iBAC7D,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,+BAA+B;QACjC,CAAC;QAED,wBAAwB;QACxB,OAAO;YACL,OAAO,EAAE,OAAO;YAChB,MAAM,EAAE,iBAAiB;YACzB,MAAM,EAAE;gBACN,KAAK,EAAE;oBACL,MAAM,EAAE,OAAO;oBACf,SAAS,EAAE,KAAK;iBACjB;gBACD,IAAI,EAAE;oBACJ,MAAM,EAAE,MAAM;iBACf;aACF;SACF,CAAC;IACJ,CAAC;CACF;AApED,oDAoEC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lock Contract
|
|
3
|
+
*
|
|
4
|
+
* Defines the interface for atomic lock implementations.
|
|
5
|
+
* Mirrors Laravel's Illuminate\Contracts\Cache\Lock.
|
|
6
|
+
*/
|
|
7
|
+
export interface LockContract {
|
|
8
|
+
/**
|
|
9
|
+
* Attempt to acquire the lock.
|
|
10
|
+
* If a callback is provided, it will be executed and the lock released automatically.
|
|
11
|
+
*/
|
|
12
|
+
get(callback?: () => Promise<any> | any): Promise<boolean | any>;
|
|
13
|
+
/**
|
|
14
|
+
* Attempt to acquire the lock for the given number of seconds.
|
|
15
|
+
* Blocks until the lock is acquired or the timeout is reached.
|
|
16
|
+
*/
|
|
17
|
+
block(seconds: number, callback?: () => Promise<any> | any): Promise<boolean | any>;
|
|
18
|
+
/**
|
|
19
|
+
* Release the lock
|
|
20
|
+
*/
|
|
21
|
+
release(): Promise<boolean>;
|
|
22
|
+
/**
|
|
23
|
+
* Returns the current owner of the lock
|
|
24
|
+
*/
|
|
25
|
+
owner(): string;
|
|
26
|
+
/**
|
|
27
|
+
* Releases this lock regardless of ownership
|
|
28
|
+
*/
|
|
29
|
+
forceRelease(): Promise<boolean>;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=Lock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Lock.d.ts","sourceRoot":"","sources":["../../../src/Cache/Contracts/Lock.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC;IAEjE;;;OAGG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC;IAEpF;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAE5B;;OAEG;IACH,KAAK,IAAI,MAAM,CAAC;IAEhB;;OAEG;IACH,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAClC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Lock.js","sourceRoot":"","sources":["../../../src/Cache/Contracts/Lock.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Repository Contract
|
|
3
|
+
*
|
|
4
|
+
* Defines the high-level cache API that wraps a store.
|
|
5
|
+
* Mirrors Laravel's Illuminate\Contracts\Cache\Repository.
|
|
6
|
+
*/
|
|
7
|
+
import type { Store } from './Store';
|
|
8
|
+
import type { LockContract } from './Lock';
|
|
9
|
+
export interface RepositoryContract extends Store {
|
|
10
|
+
/**
|
|
11
|
+
* Determine if an item exists in the cache
|
|
12
|
+
*/
|
|
13
|
+
has(key: string): Promise<boolean>;
|
|
14
|
+
/**
|
|
15
|
+
* Determine if an item doesn't exist in the cache
|
|
16
|
+
*/
|
|
17
|
+
missing(key: string): Promise<boolean>;
|
|
18
|
+
/**
|
|
19
|
+
* Retrieve an item from the cache and delete it
|
|
20
|
+
*/
|
|
21
|
+
pull(key: string, defaultValue?: any): Promise<any>;
|
|
22
|
+
/**
|
|
23
|
+
* Store an item in the cache if the key does not exist
|
|
24
|
+
*/
|
|
25
|
+
add(key: string, value: any, ttl?: number | Date): Promise<boolean>;
|
|
26
|
+
/**
|
|
27
|
+
* Get an item from the cache, or execute the given closure and store the result
|
|
28
|
+
*/
|
|
29
|
+
remember(key: string, ttl: number | Date, callback: () => any | Promise<any>): Promise<any>;
|
|
30
|
+
/**
|
|
31
|
+
* Get an item from the cache, or execute the given closure and store the result forever
|
|
32
|
+
*/
|
|
33
|
+
rememberForever(key: string, callback: () => any | Promise<any>): Promise<any>;
|
|
34
|
+
/**
|
|
35
|
+
* Get an item from the cache using flexible stale-while-revalidate strategy
|
|
36
|
+
*/
|
|
37
|
+
flexible(key: string, ttl: [number, number], callback: () => any | Promise<any>): Promise<any>;
|
|
38
|
+
/**
|
|
39
|
+
* Get a lock instance
|
|
40
|
+
*/
|
|
41
|
+
lock(name: string, seconds?: number, owner?: string): LockContract;
|
|
42
|
+
/**
|
|
43
|
+
* Restore a lock instance using the owner identifier
|
|
44
|
+
*/
|
|
45
|
+
restoreLock(name: string, owner: string): LockContract;
|
|
46
|
+
/**
|
|
47
|
+
* Get the underlying store implementation
|
|
48
|
+
*/
|
|
49
|
+
getStore(): Store;
|
|
50
|
+
/**
|
|
51
|
+
* Get the default cache time in seconds
|
|
52
|
+
*/
|
|
53
|
+
getDefaultCacheTime(): number | null;
|
|
54
|
+
/**
|
|
55
|
+
* Set the default cache time in seconds
|
|
56
|
+
*/
|
|
57
|
+
setDefaultCacheTime(seconds: number | null): this;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=Repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Repository.d.ts","sourceRoot":"","sources":["../../../src/Cache/Contracts/Repository.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAE3C,MAAM,WAAW,kBAAmB,SAAQ,KAAK;IAC/C;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEnC;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEvC;;OAEG;IACH,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAEpD;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpE;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAE5F;;OAEG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAE/E;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAE/F;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;IAEnE;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,CAAC;IAEvD;;OAEG;IACH,QAAQ,IAAI,KAAK,CAAC;IAElB;;OAEG;IACH,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAAC;IAErC;;OAEG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;CACnD"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Repository Contract
|
|
4
|
+
*
|
|
5
|
+
* Defines the high-level cache API that wraps a store.
|
|
6
|
+
* Mirrors Laravel's Illuminate\Contracts\Cache\Repository.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
//# sourceMappingURL=Repository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Repository.js","sourceRoot":"","sources":["../../../src/Cache/Contracts/Repository.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Store Contract
|
|
3
|
+
*
|
|
4
|
+
* Defines the low-level interface for cache store implementations.
|
|
5
|
+
* Each driver (file, database, array, etc.) must implement this.
|
|
6
|
+
*
|
|
7
|
+
* Mirrors Laravel's Illuminate\Contracts\Cache\Store.
|
|
8
|
+
*/
|
|
9
|
+
export interface Store {
|
|
10
|
+
/**
|
|
11
|
+
* Retrieve an item from the cache by key
|
|
12
|
+
*/
|
|
13
|
+
get(key: string): Promise<any>;
|
|
14
|
+
/**
|
|
15
|
+
* Retrieve multiple items from the cache by key
|
|
16
|
+
*/
|
|
17
|
+
many(keys: string[]): Promise<Record<string, any>>;
|
|
18
|
+
/**
|
|
19
|
+
* Store an item in the cache for a given number of seconds
|
|
20
|
+
*/
|
|
21
|
+
put(key: string, value: any, seconds: number): Promise<boolean>;
|
|
22
|
+
/**
|
|
23
|
+
* Store multiple items in the cache for a given number of seconds
|
|
24
|
+
*/
|
|
25
|
+
putMany(values: Record<string, any>, seconds: number): Promise<boolean>;
|
|
26
|
+
/**
|
|
27
|
+
* Increment the value of an item in the cache
|
|
28
|
+
*/
|
|
29
|
+
increment(key: string, value?: number): Promise<number | boolean>;
|
|
30
|
+
/**
|
|
31
|
+
* Decrement the value of an item in the cache
|
|
32
|
+
*/
|
|
33
|
+
decrement(key: string, value?: number): Promise<number | boolean>;
|
|
34
|
+
/**
|
|
35
|
+
* Store an item in the cache indefinitely
|
|
36
|
+
*/
|
|
37
|
+
forever(key: string, value: any): Promise<boolean>;
|
|
38
|
+
/**
|
|
39
|
+
* Remove an item from the cache
|
|
40
|
+
*/
|
|
41
|
+
forget(key: string): Promise<boolean>;
|
|
42
|
+
/**
|
|
43
|
+
* Remove all items from the cache
|
|
44
|
+
*/
|
|
45
|
+
flush(): Promise<boolean>;
|
|
46
|
+
/**
|
|
47
|
+
* Get the cache key prefix
|
|
48
|
+
*/
|
|
49
|
+
getPrefix(): string;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=Store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Store.d.ts","sourceRoot":"","sources":["../../../src/Cache/Contracts/Store.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,KAAK;IACpB;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAE/B;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAEnD;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEhE;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAExE;;OAEG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC;IAElE;;OAEG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC;IAElE;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEnD;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtC;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAE1B;;OAEG;IACH,SAAS,IAAI,MAAM,CAAC;CACrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Store.js","sourceRoot":"","sources":["../../../src/Cache/Contracts/Store.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CacheFlushed Event
|
|
3
|
+
*
|
|
4
|
+
* Dispatched after all items have been flushed from the cache.
|
|
5
|
+
*/
|
|
6
|
+
export declare class CacheFlushed {
|
|
7
|
+
readonly storeName: string;
|
|
8
|
+
readonly tags: string[];
|
|
9
|
+
constructor(storeName: string, tags?: string[]);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=CacheFlushed.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CacheFlushed.d.ts","sourceRoot":"","sources":["../../../src/Cache/Events/CacheFlushed.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qBAAa,YAAY;aAEL,SAAS,EAAE,MAAM;aACjB,IAAI,EAAE,MAAM,EAAE;gBADd,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,MAAM,EAAO;CAEtC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CacheFlushed = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* CacheFlushed Event
|
|
6
|
+
*
|
|
7
|
+
* Dispatched after all items have been flushed from the cache.
|
|
8
|
+
*/
|
|
9
|
+
class CacheFlushed {
|
|
10
|
+
storeName;
|
|
11
|
+
tags;
|
|
12
|
+
constructor(storeName, tags = []) {
|
|
13
|
+
this.storeName = storeName;
|
|
14
|
+
this.tags = tags;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.CacheFlushed = CacheFlushed;
|
|
18
|
+
//# sourceMappingURL=CacheFlushed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CacheFlushed.js","sourceRoot":"","sources":["../../../src/Cache/Events/CacheFlushed.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,MAAa,YAAY;IAEL;IACA;IAFlB,YACkB,SAAiB,EACjB,OAAiB,EAAE;QADnB,cAAS,GAAT,SAAS,CAAQ;QACjB,SAAI,GAAJ,IAAI,CAAe;IAClC,CAAC;CACL;AALD,oCAKC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CacheHit Event
|
|
3
|
+
*
|
|
4
|
+
* Dispatched when a cache key is found.
|
|
5
|
+
*/
|
|
6
|
+
export declare class CacheHit {
|
|
7
|
+
readonly storeName: string;
|
|
8
|
+
readonly key: string;
|
|
9
|
+
readonly value: any;
|
|
10
|
+
readonly tags: string[];
|
|
11
|
+
constructor(storeName: string, key: string, value: any, tags?: string[]);
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=CacheHit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CacheHit.d.ts","sourceRoot":"","sources":["../../../src/Cache/Events/CacheHit.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qBAAa,QAAQ;aAED,SAAS,EAAE,MAAM;aACjB,GAAG,EAAE,MAAM;aACX,KAAK,EAAE,GAAG;aACV,IAAI,EAAE,MAAM,EAAE;gBAHd,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,GAAG,EACV,IAAI,GAAE,MAAM,EAAO;CAEtC"}
|