@zudojs/cache 0.0.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/LICENSE +21 -0
- package/README.md +41 -0
- package/dist/.tsbuildinfo +1 -0
- package/dist/cache.d.ts +62 -0
- package/dist/cache.d.ts.map +1 -0
- package/dist/cache.js +135 -0
- package/dist/cache.js.map +1 -0
- package/dist/constants.d.ts +40 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +61 -0
- package/dist/constants.js.map +1 -0
- package/dist/errors.d.ts +9 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +8 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +35 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +42 -0
- package/dist/index.js.map +1 -0
- package/dist/invalidation.d.ts +68 -0
- package/dist/invalidation.d.ts.map +1 -0
- package/dist/invalidation.js +103 -0
- package/dist/invalidation.js.map +1 -0
- package/dist/key-builder.d.ts +36 -0
- package/dist/key-builder.d.ts.map +1 -0
- package/dist/key-builder.js +66 -0
- package/dist/key-builder.js.map +1 -0
- package/dist/lock.d.ts +30 -0
- package/dist/lock.d.ts.map +1 -0
- package/dist/lock.js +103 -0
- package/dist/lock.js.map +1 -0
- package/dist/memory.d.ts +37 -0
- package/dist/memory.d.ts.map +1 -0
- package/dist/memory.js +140 -0
- package/dist/memory.js.map +1 -0
- package/dist/metrics.d.ts +41 -0
- package/dist/metrics.d.ts.map +1 -0
- package/dist/metrics.js +96 -0
- package/dist/metrics.js.map +1 -0
- package/dist/serializer.d.ts +43 -0
- package/dist/serializer.d.ts.map +1 -0
- package/dist/serializer.js +74 -0
- package/dist/serializer.js.map +1 -0
- package/dist/store.d.ts +42 -0
- package/dist/store.d.ts.map +1 -0
- package/dist/store.js +180 -0
- package/dist/store.js.map +1 -0
- package/dist/tags.d.ts +37 -0
- package/dist/tags.d.ts.map +1 -0
- package/dist/tags.js +93 -0
- package/dist/tags.js.map +1 -0
- package/dist/types-adapter.d.ts +24 -0
- package/dist/types-adapter.d.ts.map +1 -0
- package/dist/types-adapter.js +2 -0
- package/dist/types-adapter.js.map +1 -0
- package/dist/types-config.d.ts +21 -0
- package/dist/types-config.d.ts.map +1 -0
- package/dist/types-config.js +2 -0
- package/dist/types-config.js.map +1 -0
- package/dist/types-events.d.ts +38 -0
- package/dist/types-events.d.ts.map +1 -0
- package/dist/types-events.js +2 -0
- package/dist/types-events.js.map +1 -0
- package/dist/types-health.d.ts +20 -0
- package/dist/types-health.d.ts.map +1 -0
- package/dist/types-health.js +2 -0
- package/dist/types-health.js.map +1 -0
- package/dist/types-keys.d.ts +15 -0
- package/dist/types-keys.d.ts.map +1 -0
- package/dist/types-keys.js +2 -0
- package/dist/types-keys.js.map +1 -0
- package/dist/types-lock.d.ts +22 -0
- package/dist/types-lock.d.ts.map +1 -0
- package/dist/types-lock.js +2 -0
- package/dist/types-lock.js.map +1 -0
- package/dist/types-metrics.d.ts +19 -0
- package/dist/types-metrics.d.ts.map +1 -0
- package/dist/types-metrics.js +2 -0
- package/dist/types-metrics.js.map +1 -0
- package/dist/types-operations.d.ts +39 -0
- package/dist/types-operations.d.ts.map +1 -0
- package/dist/types-operations.js +2 -0
- package/dist/types-operations.js.map +1 -0
- package/dist/types-results.d.ts +33 -0
- package/dist/types-results.d.ts.map +1 -0
- package/dist/types-results.js +2 -0
- package/dist/types-results.js.map +1 -0
- package/dist/types-tags.d.ts +13 -0
- package/dist/types-tags.d.ts.map +1 -0
- package/dist/types-tags.js +2 -0
- package/dist/types-tags.js.map +1 -0
- package/dist/types-utility.d.ts +31 -0
- package/dist/types-utility.d.ts.map +1 -0
- package/dist/types-utility.js +2 -0
- package/dist/types-utility.js.map +1 -0
- package/dist/types-values.d.ts +24 -0
- package/dist/types-values.d.ts.map +1 -0
- package/dist/types-values.js +2 -0
- package/dist/types-values.js.map +1 -0
- package/dist/types.d.ts +13 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +53 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-keys.js","sourceRoot":"","sources":["../src/types-keys.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { CacheNamespace } from "./types-keys.js";
|
|
2
|
+
import type { CacheTTL } from "./types-values.js";
|
|
3
|
+
export interface CacheLockOptions {
|
|
4
|
+
readonly ttl?: CacheTTL;
|
|
5
|
+
readonly namespace?: CacheNamespace;
|
|
6
|
+
readonly retry?: {
|
|
7
|
+
readonly attempts: number;
|
|
8
|
+
readonly delay: number;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
export interface CacheLock {
|
|
12
|
+
readonly key: string;
|
|
13
|
+
readonly token: string;
|
|
14
|
+
readonly acquiredAt: Date;
|
|
15
|
+
readonly expiresAt: Date | null;
|
|
16
|
+
release(): Promise<boolean>;
|
|
17
|
+
extend(ttl: CacheTTL): Promise<boolean>;
|
|
18
|
+
}
|
|
19
|
+
export interface CacheLockStore {
|
|
20
|
+
acquire(key: string, options?: CacheLockOptions): Promise<CacheLock | null>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=types-lock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-lock.d.ts","sourceRoot":"","sources":["../src/types-lock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE;QACf,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;KACxB,CAAC;CACH;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IAChC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAM,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;CAC7E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-lock.js","sourceRoot":"","sources":["../src/types-lock.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { CacheKey } from "./types-keys.js";
|
|
2
|
+
import type { CacheOperation } from "@zudojs/errors";
|
|
3
|
+
export type { CacheOperation } from "@zudojs/errors";
|
|
4
|
+
export interface CacheMetrics {
|
|
5
|
+
incrementHit(key?: CacheKey): void;
|
|
6
|
+
incrementMiss(key?: CacheKey): void;
|
|
7
|
+
incrementSet(key?: CacheKey): void;
|
|
8
|
+
incrementDelete(key?: CacheKey): void;
|
|
9
|
+
incrementError(key?: CacheKey): void;
|
|
10
|
+
observeLatency(operation: CacheOperation, latencyMs: number): void;
|
|
11
|
+
}
|
|
12
|
+
export interface CacheMiddlewareContext {
|
|
13
|
+
readonly key: CacheKey;
|
|
14
|
+
readonly operation: CacheOperation;
|
|
15
|
+
readonly startedAt: Date;
|
|
16
|
+
readonly metadata?: Readonly<Record<string, unknown>>;
|
|
17
|
+
}
|
|
18
|
+
export type CacheMiddleware = (context: CacheMiddlewareContext, next: () => Promise<unknown>) => Promise<unknown>;
|
|
19
|
+
//# sourceMappingURL=types-metrics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-metrics.d.ts","sourceRoot":"","sources":["../src/types-metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,WAAW,YAAY;IAC3B,YAAY,CAAC,GAAG,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACnC,aAAa,CAAC,GAAG,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACpC,YAAY,CAAC,GAAG,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACnC,eAAe,CAAC,GAAG,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtC,cAAc,CAAC,GAAG,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACrC,cAAc,CAAC,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CACpE;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACvD;AAED,MAAM,MAAM,eAAe,GAAG,CAC5B,OAAO,EAAE,sBAAsB,EAC/B,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,KACzB,OAAO,CAAC,OAAO,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-metrics.js","sourceRoot":"","sources":["../src/types-metrics.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { CacheNamespace } from "./types-keys.js";
|
|
2
|
+
import type { CacheTTL } from "./types-values.js";
|
|
3
|
+
export interface CacheSetOptions {
|
|
4
|
+
readonly ttl?: CacheTTL;
|
|
5
|
+
readonly namespace?: CacheNamespace;
|
|
6
|
+
readonly tags?: readonly string[];
|
|
7
|
+
readonly overwrite?: boolean;
|
|
8
|
+
readonly metadata?: Readonly<Record<string, unknown>>;
|
|
9
|
+
}
|
|
10
|
+
export interface CacheGetOptions {
|
|
11
|
+
readonly namespace?: CacheNamespace;
|
|
12
|
+
}
|
|
13
|
+
export interface CacheDeleteOptions {
|
|
14
|
+
readonly namespace?: CacheNamespace;
|
|
15
|
+
}
|
|
16
|
+
export interface CacheHasOptions {
|
|
17
|
+
readonly namespace?: CacheNamespace;
|
|
18
|
+
}
|
|
19
|
+
export interface CacheClearOptions {
|
|
20
|
+
readonly namespace?: CacheNamespace;
|
|
21
|
+
readonly pattern?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface CacheKeysOptions {
|
|
24
|
+
readonly namespace?: CacheNamespace;
|
|
25
|
+
readonly pattern?: string;
|
|
26
|
+
readonly limit?: number;
|
|
27
|
+
}
|
|
28
|
+
export interface CacheGetManyOptions {
|
|
29
|
+
readonly namespace?: CacheNamespace;
|
|
30
|
+
}
|
|
31
|
+
export interface CacheSetManyOptions {
|
|
32
|
+
readonly ttl?: CacheTTL;
|
|
33
|
+
readonly namespace?: CacheNamespace;
|
|
34
|
+
readonly overwrite?: boolean;
|
|
35
|
+
}
|
|
36
|
+
export interface CacheDeleteManyOptions {
|
|
37
|
+
readonly namespace?: CacheNamespace;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=types-operations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-operations.d.ts","sourceRoot":"","sources":["../src/types-operations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC;IACpC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC;CACrC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC;CACrC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC;CACrC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC;IACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC;IACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC;CACrC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC;IACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC;CACrC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-operations.js","sourceRoot":"","sources":["../src/types-operations.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { CacheKey } from "./types-keys.js";
|
|
2
|
+
import type { CacheEntry } from "./types-values.js";
|
|
3
|
+
export interface CacheGetResult<TValue = unknown> {
|
|
4
|
+
readonly hit: boolean;
|
|
5
|
+
readonly value: TValue | null;
|
|
6
|
+
readonly entry?: CacheEntry<TValue>;
|
|
7
|
+
}
|
|
8
|
+
export interface CacheSetResult {
|
|
9
|
+
readonly success: boolean;
|
|
10
|
+
readonly key: CacheKey;
|
|
11
|
+
readonly expiresAt: Date | null;
|
|
12
|
+
}
|
|
13
|
+
export interface CacheDeleteResult {
|
|
14
|
+
readonly deleted: boolean;
|
|
15
|
+
readonly key: CacheKey;
|
|
16
|
+
}
|
|
17
|
+
export interface CacheDeleteManyResult {
|
|
18
|
+
readonly deleted: number;
|
|
19
|
+
readonly keys: readonly CacheKey[];
|
|
20
|
+
}
|
|
21
|
+
export interface CacheClearResult {
|
|
22
|
+
readonly cleared: number;
|
|
23
|
+
}
|
|
24
|
+
export interface CacheStats {
|
|
25
|
+
readonly hits: number;
|
|
26
|
+
readonly misses: number;
|
|
27
|
+
readonly sets: number;
|
|
28
|
+
readonly deletes: number;
|
|
29
|
+
readonly errors: number;
|
|
30
|
+
readonly size?: number;
|
|
31
|
+
readonly hitRate: number;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=types-results.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-results.d.ts","sourceRoot":"","sources":["../src/types-results.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,WAAW,cAAc,CAAC,MAAM,GAAG,OAAO;IAC9C,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,SAAS,QAAQ,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-results.js","sourceRoot":"","sources":["../src/types-results.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { CacheKey, CacheNamespace } from "./types-keys.js";
|
|
2
|
+
import type { CacheClearResult } from "./types-results.js";
|
|
3
|
+
export type CacheTag = string;
|
|
4
|
+
export interface CacheTagOptions {
|
|
5
|
+
readonly namespace?: CacheNamespace;
|
|
6
|
+
}
|
|
7
|
+
export interface CacheTagStore {
|
|
8
|
+
add(key: CacheKey, tags: readonly CacheTag[], options?: CacheTagOptions): Promise<void>;
|
|
9
|
+
remove(key: CacheKey, tags: readonly CacheTag[], options?: CacheTagOptions): Promise<void>;
|
|
10
|
+
getKeys(tag: CacheTag, options?: CacheTagOptions): Promise<readonly CacheKey[]>;
|
|
11
|
+
invalidate(tag: CacheTag, options?: CacheTagOptions): Promise<CacheClearResult>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=types-tags.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-tags.d.ts","sourceRoot":"","sources":["../src/types-tags.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE9B,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC;CACrC;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,CACD,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,SAAS,QAAQ,EAAE,EACzB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,MAAM,CACJ,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,SAAS,QAAQ,EAAE,EACzB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,OAAO,CACL,GAAG,EAAE,QAAQ,EACb,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,SAAS,QAAQ,EAAE,CAAC,CAAC;IAChC,UAAU,CACR,GAAG,EAAE,QAAQ,EACb,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-tags.js","sourceRoot":"","sources":["../src/types-tags.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { CacheKey } from "./types-keys.js";
|
|
2
|
+
import type { MaybePromise as BaseMaybePromise } from "@zudojs/types";
|
|
3
|
+
import type { CacheDeleteOptions, CacheGetOptions, CacheSetOptions } from "./types-operations.js";
|
|
4
|
+
export type { BaseMaybePromise as MaybePromise };
|
|
5
|
+
export interface CacheOrComputeOptions extends CacheSetOptions {
|
|
6
|
+
readonly forceRefresh?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface CacheOrComputeResult<TValue> {
|
|
9
|
+
readonly value: TValue;
|
|
10
|
+
readonly cached: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface CacheBatchOperation {
|
|
13
|
+
readonly type: "get" | "set" | "delete";
|
|
14
|
+
readonly key: CacheKey;
|
|
15
|
+
readonly value?: unknown;
|
|
16
|
+
readonly options?: CacheGetOptions | CacheSetOptions | CacheDeleteOptions;
|
|
17
|
+
}
|
|
18
|
+
export interface CacheBatchResult {
|
|
19
|
+
readonly operation: CacheBatchOperation;
|
|
20
|
+
readonly success: boolean;
|
|
21
|
+
readonly result?: unknown;
|
|
22
|
+
readonly error?: unknown;
|
|
23
|
+
}
|
|
24
|
+
export type CacheResult<TValue> = {
|
|
25
|
+
readonly success: true;
|
|
26
|
+
readonly value: TValue;
|
|
27
|
+
} | {
|
|
28
|
+
readonly success: false;
|
|
29
|
+
readonly error: unknown;
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=types-utility.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-utility.d.ts","sourceRoot":"","sources":["../src/types-utility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EACf,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EAAE,gBAAgB,IAAI,YAAY,EAAE,CAAC;AAEjD,MAAM,WAAW,qBAAsB,SAAQ,eAAe;IAC5D,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,oBAAoB,CAAC,MAAM;IAC1C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC;IACxC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,eAAe,GAAG,kBAAkB,CAAC;CAC3E;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,MAAM,WAAW,CAAC,MAAM,IAC1B;IAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAClD;IAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-utility.js","sourceRoot":"","sources":["../src/types-utility.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { CacheKey } from "./types-keys.js";
|
|
2
|
+
export type CacheValue = string | number | boolean | null | Record<string, unknown> | readonly unknown[];
|
|
3
|
+
export type SerializableCacheValue = CacheValue;
|
|
4
|
+
export type CacheTTL = number;
|
|
5
|
+
export type CacheExpiration = CacheTTL | null | undefined;
|
|
6
|
+
export interface CacheExpirationInfo {
|
|
7
|
+
readonly ttl: number | null;
|
|
8
|
+
readonly expiresAt: Date | null;
|
|
9
|
+
}
|
|
10
|
+
export interface CacheEntry<TValue = unknown> {
|
|
11
|
+
readonly key: CacheKey;
|
|
12
|
+
readonly value: TValue;
|
|
13
|
+
readonly createdAt?: Date;
|
|
14
|
+
readonly expiresAt?: Date | null;
|
|
15
|
+
readonly tags?: readonly string[];
|
|
16
|
+
readonly metadata?: Readonly<Record<string, unknown>>;
|
|
17
|
+
}
|
|
18
|
+
export interface CacheEntryMetadata {
|
|
19
|
+
readonly createdAt?: Date;
|
|
20
|
+
readonly expiresAt?: Date | null;
|
|
21
|
+
readonly tags?: readonly string[];
|
|
22
|
+
readonly metadata?: Readonly<Record<string, unknown>>;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=types-values.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-values.d.ts","sourceRoot":"","sources":["../src/types-values.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,iBAAiB,CAAC;AAEhE,MAAM,MAAM,UAAU,GAClB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,SAAS,OAAO,EAAE,CAAC;AACvB,MAAM,MAAM,sBAAsB,GAAG,UAAU,CAAC;AAChD,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAC9B,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,IAAI,GAAG,SAAS,CAAC;AAE1D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,UAAU,CAAC,MAAM,GAAG,OAAO;IAC1C,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACvD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-values.js","sourceRoot":"","sources":["../src/types-values.ts"],"names":[],"mappings":""}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type { CacheKey, CacheKeyOptions, CacheKeyParts, CacheNamespace, } from "./types-keys.js";
|
|
2
|
+
export type { CacheExpiration, CacheExpirationInfo, CacheEntry, CacheEntryMetadata, CacheTTL, CacheValue, SerializableCacheValue, } from "./types-values.js";
|
|
3
|
+
export type { CacheClearOptions, CacheDeleteManyOptions, CacheDeleteOptions, CacheGetManyOptions, CacheGetOptions, CacheHasOptions, CacheKeysOptions, CacheSetManyOptions, CacheSetOptions, } from "./types-operations.js";
|
|
4
|
+
export type { CacheClearResult, CacheDeleteManyResult, CacheDeleteResult, CacheGetResult, CacheSetResult, CacheStats, } from "./types-results.js";
|
|
5
|
+
export type { CacheAdapter, CacheAdapterFactory, CacheStore, } from "./types-adapter.js";
|
|
6
|
+
export type { CacheClearEvent, CacheDeleteEvent, CacheErrorEvent, CacheEvent, CacheEventHandler, CacheEventSubscription, CacheEventType, CacheHitEvent, CacheMissEvent, CacheSetEvent, } from "./types-events.js";
|
|
7
|
+
export type { CacheTag, CacheTagOptions, CacheTagStore } from "./types-tags.js";
|
|
8
|
+
export type { CacheLock, CacheLockOptions, CacheLockStore, } from "./types-lock.js";
|
|
9
|
+
export type { CacheHealth, CacheHealthChecker, CacheSerializer, CacheSerializationOptions, } from "./types-health.js";
|
|
10
|
+
export type { CacheMiddleware, CacheMiddlewareContext, CacheMetrics, CacheOperation, } from "./types-metrics.js";
|
|
11
|
+
export type { CacheConfig, CacheErrorCode, CacheErrorOptions, } from "./types-config.js";
|
|
12
|
+
export type { CacheBatchOperation, CacheBatchResult, CacheOrComputeOptions, CacheOrComputeResult, CacheResult, MaybePromise, } from "./types-utility.js";
|
|
13
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,QAAQ,EACR,eAAe,EACf,aAAa,EACb,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,UAAU,EACV,kBAAkB,EAClB,QAAQ,EACR,UAAU,EACV,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,UAAU,GACX,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,YAAY,EACZ,mBAAmB,EACnB,UAAU,GACX,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,sBAAsB,EACtB,cAAc,EACd,aAAa,EACb,cAAc,EACd,aAAa,GACd,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChF,YAAY,EACV,SAAS,EACT,gBAAgB,EAChB,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,eAAe,EACf,sBAAsB,EACtB,YAAY,EACZ,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,WAAW,EACX,cAAc,EACd,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,WAAW,EACX,YAAY,GACb,MAAM,oBAAoB,CAAC"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
package/package.json
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@zudojs/cache",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "Caching primitives, abstractions, and adapters for the Zudojs framework.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"main": "./dist/index.js",
|
|
8
|
+
"module": "./dist/index.js",
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"exports": {
|
|
11
|
+
".": {
|
|
12
|
+
"types": "./dist/index.d.ts",
|
|
13
|
+
"import": "./dist/index.js"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"files": [
|
|
17
|
+
"dist"
|
|
18
|
+
],
|
|
19
|
+
"dependencies": {
|
|
20
|
+
"@zudojs/errors": "0.0.1",
|
|
21
|
+
"@zudojs/types": "0.0.1",
|
|
22
|
+
"@zudojs/serialization": "0.0.1"
|
|
23
|
+
},
|
|
24
|
+
"devDependencies": {
|
|
25
|
+
"typescript": "7.0.2",
|
|
26
|
+
"vitest": "^4.1.11"
|
|
27
|
+
},
|
|
28
|
+
"engines": {
|
|
29
|
+
"node": ">=24.0.0"
|
|
30
|
+
},
|
|
31
|
+
"publishConfig": {
|
|
32
|
+
"access": "public"
|
|
33
|
+
},
|
|
34
|
+
"keywords": [
|
|
35
|
+
"zudojs",
|
|
36
|
+
"cache",
|
|
37
|
+
"redis",
|
|
38
|
+
"memory",
|
|
39
|
+
"tags"
|
|
40
|
+
],
|
|
41
|
+
"homepage": "https://github.com/oyinlola-tech/zudo#readme",
|
|
42
|
+
"repository": {
|
|
43
|
+
"type": "git",
|
|
44
|
+
"url": "https://github.com/oyinlola-tech/zudo"
|
|
45
|
+
},
|
|
46
|
+
"scripts": {
|
|
47
|
+
"build": "tsc -p tsconfig.json",
|
|
48
|
+
"clean": "rm -rf dist",
|
|
49
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
50
|
+
"test": "vitest run",
|
|
51
|
+
"test:watch": "vitest"
|
|
52
|
+
}
|
|
53
|
+
}
|