@ooneex/cache 0.0.14 → 0.0.15

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/dist/index.js CHANGED
@@ -15,6 +15,20 @@ var __toESM = (mod, isNodeMode, target) => {
15
15
  });
16
16
  return to;
17
17
  };
18
+ var __legacyDecorateClassTS = function(decorators, target, key, desc) {
19
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
21
+ r = Reflect.decorate(decorators, target, key, desc);
22
+ else
23
+ for (var i = decorators.length - 1;i >= 0; i--)
24
+ if (d = decorators[i])
25
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
26
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
27
+ };
28
+ var __legacyMetadataTS = (k, v) => {
29
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
30
+ return Reflect.metadata(k, v);
31
+ };
18
32
  var __require = import.meta.require;
19
33
 
20
34
  // src/CacheException.ts
@@ -145,6 +159,12 @@ class FilesystemCache {
145
159
  await Bun.write(this.getFilePath(key), content);
146
160
  }
147
161
  }
162
+ FilesystemCache = __legacyDecorateClassTS([
163
+ decorator.cache(),
164
+ __legacyMetadataTS("design:paramtypes", [
165
+ typeof FilesystemCacheOptionsType === "undefined" ? Object : FilesystemCacheOptionsType
166
+ ])
167
+ ], FilesystemCache);
148
168
  // src/RedisCache.ts
149
169
  class RedisCache {
150
170
  client;
@@ -218,6 +238,12 @@ class RedisCache {
218
238
  }
219
239
  }
220
240
  }
241
+ RedisCache = __legacyDecorateClassTS([
242
+ decorator.cache(),
243
+ __legacyMetadataTS("design:paramtypes", [
244
+ typeof RedisCacheOptionsType === "undefined" ? Object : RedisCacheOptionsType
245
+ ])
246
+ ], RedisCache);
221
247
  export {
222
248
  decorator,
223
249
  RedisCache,
@@ -225,4 +251,4 @@ export {
225
251
  CacheException
226
252
  };
227
253
 
228
- //# debugId=2694BF573ECA1C5F64756E2164756E21
254
+ //# debugId=AC71E686C6C533DF64756E2164756E21
package/dist/index.js.map CHANGED
@@ -4,10 +4,10 @@
4
4
  "sourcesContent": [
5
5
  "import { Exception } from \"@ooneex/exception\";\nimport { HttpStatus } from \"@ooneex/http-status\";\n\nexport class CacheException extends Exception {\n constructor(message: string, data: Record<string, unknown> = {}) {\n super(message, {\n status: HttpStatus.Code.InternalServerError,\n data,\n });\n this.name = \"CacheException\";\n }\n}\n",
6
6
  "import { container, EContainerScope } from \"@ooneex/container\";\nimport type { CacheClassType } from \"./types\";\n\nexport const decorator = {\n cache: (scope: EContainerScope = EContainerScope.Singleton) => {\n return (target: CacheClassType): void => {\n container.add(target, scope);\n };\n },\n};\n",
7
- "import { CacheException } from \"./CacheException\";\nimport type { FilesystemCacheOptionsType, ICache } from \"./types\";\n\ntype CacheEntryType<T = unknown> = {\n value: T;\n ttl?: number;\n createdAt: number;\n originalKey: string;\n};\n\nexport class FilesystemCache implements ICache {\n private cacheDir: string;\n private maxFileSize: number;\n\n constructor(options: FilesystemCacheOptionsType = {}) {\n this.cacheDir = options.cacheDir || `${process.cwd()}/.cache`;\n this.maxFileSize = options.maxFileSize || 10 * 1024 * 1024; // 10MB default\n }\n\n private async connect(): Promise<void> {\n try {\n const { mkdir, stat } = await import(\"node:fs/promises\");\n await mkdir(this.cacheDir, { recursive: true });\n\n const stats = await stat(this.cacheDir);\n if (!stats.isDirectory()) {\n throw new CacheException(\"Failed to create cache directory\");\n }\n } catch (error) {\n throw new CacheException(`Failed to initialize filesystem cache: ${error}`);\n }\n }\n\n public async get<T = unknown>(key: string): Promise<T | undefined> {\n try {\n await this.connect();\n const entry = await this.readCacheEntry<T>(key);\n\n return entry?.value;\n } catch (error) {\n throw new CacheException(`Failed to get key \"${key}\": ${error}`);\n }\n }\n\n public async set<T = unknown>(key: string, value: T, ttl?: number): Promise<void> {\n try {\n await this.connect();\n\n const entry: CacheEntryType<T> = {\n value,\n createdAt: Date.now(),\n originalKey: key,\n ...(ttl !== undefined && { ttl }),\n };\n\n await this.writeCacheEntry(key, entry);\n } catch (error) {\n throw new CacheException(`Failed to set key \"${key}\": ${error}`);\n }\n }\n\n public async delete(key: string): Promise<boolean> {\n try {\n await this.connect();\n\n const file = Bun.file(this.getFilePath(key));\n\n if (!(await file.exists())) {\n return false;\n }\n\n await file.delete();\n\n return true;\n } catch (error) {\n throw new CacheException(`Failed to delete key \"${key}\": ${error}`);\n }\n }\n\n public async has(key: string): Promise<boolean> {\n try {\n await this.connect();\n const entry = await this.readCacheEntry(key);\n\n return entry !== undefined;\n } catch (error) {\n throw new CacheException(`Failed to check if key \"${key}\" exists: ${error}`);\n }\n }\n\n private getFilePath(key: string): string {\n if (key.length > 200) {\n const hash = Bun.hash(key);\n return `${this.cacheDir}/${hash.toString(36)}.cache`;\n }\n\n const sanitizedKey = key.replace(/[<>:\"/\\\\|?*\\x00-\\x1f]/g, \"_\");\n\n return `${this.cacheDir}/${sanitizedKey}.cache`;\n }\n\n private isExpired(entry: CacheEntryType): boolean {\n if (!entry.ttl) return false;\n\n if (entry.ttl === 0) {\n return false;\n }\n\n return entry.createdAt + entry.ttl * 1000 < Date.now();\n }\n\n private async readCacheEntry<T>(key: string): Promise<CacheEntryType<T> | undefined> {\n try {\n const file = Bun.file(this.getFilePath(key));\n\n if (!(await file.exists())) {\n return;\n }\n\n const content = await file.text();\n const entry: CacheEntryType<T> = JSON.parse(content);\n\n if (this.isExpired(entry)) {\n await file.delete().catch(() => {});\n return;\n }\n\n return entry;\n } catch {\n return;\n }\n }\n\n private async writeCacheEntry<T>(key: string, entry: CacheEntryType<T>): Promise<void> {\n const content = JSON.stringify(entry);\n\n if (Buffer.byteLength(content, \"utf-8\") > this.maxFileSize) {\n throw new CacheException(`Cache entry exceeds maximum file size of ${this.maxFileSize} bytes`);\n }\n\n await Bun.write(this.getFilePath(key), content);\n }\n}\n",
8
- "import { CacheException } from \"./CacheException\";\nimport type { ICache, RedisCacheOptionsType } from \"./types\";\n\nexport class RedisCache implements ICache {\n private client: Bun.RedisClient;\n\n constructor(options: RedisCacheOptionsType = {}) {\n const connectionString = options.connectionString || Bun.env.CACHE_REDIS_URL;\n\n if (!connectionString) {\n throw new CacheException(\n \"Redis connection string is required. Please provide a connection string either through the constructor options or set the CACHE_REDIS_URL environment variable.\",\n );\n }\n\n const { connectionString: _, ...userOptions } = options;\n\n const defaultOptions = {\n connectionTimeout: 10_000,\n idleTimeout: 30_000,\n autoReconnect: true,\n maxRetries: 3,\n enableOfflineQueue: true,\n enableAutoPipelining: true,\n };\n\n const clientOptions = { ...defaultOptions, ...userOptions };\n\n this.client = new Bun.RedisClient(connectionString, clientOptions);\n }\n\n private async connect(): Promise<void> {\n if (!this.client.connected) {\n await this.client.connect();\n }\n }\n\n public async get<T = unknown>(key: string): Promise<T | undefined> {\n try {\n await this.connect();\n const value = await this.client.get(key);\n\n if (value === null) {\n return;\n }\n\n try {\n return JSON.parse(value);\n } catch {\n return value as T;\n }\n } catch (error) {\n throw new CacheException(`Failed to get key \"${key}\": ${error}`);\n }\n }\n\n public async set<T = unknown>(key: string, value: T, ttl?: number): Promise<void> {\n try {\n await this.connect();\n\n const normalizedValue = value === undefined ? null : value;\n const serializedValue = typeof normalizedValue === \"string\" ? normalizedValue : JSON.stringify(normalizedValue);\n\n await this.client.set(key, serializedValue);\n\n if (ttl && ttl > 0) {\n await this.client.expire(key, ttl);\n }\n } catch (error) {\n throw new CacheException(`Failed to set key \"${key}\": ${error}`);\n }\n }\n\n public async delete(key: string): Promise<boolean> {\n try {\n await this.connect();\n const result = await this.client.del(key);\n\n return result > 0;\n } catch (error) {\n throw new CacheException(`Failed to delete key \"${key}\": ${error}`);\n }\n }\n\n public async has(key: string): Promise<boolean> {\n try {\n await this.connect();\n const result = await this.client.exists(key);\n\n return result;\n } catch (error) {\n throw new CacheException(`Failed to check if key \"${key}\" exists: ${error}`);\n }\n }\n}\n"
7
+ "import { CacheException } from \"./CacheException\";\nimport { decorator } from \"./decorators\";\nimport type { FilesystemCacheOptionsType, ICache } from \"./types\";\n\ntype CacheEntryType<T = unknown> = {\n value: T;\n ttl?: number;\n createdAt: number;\n originalKey: string;\n};\n\n@decorator.cache()\nexport class FilesystemCache implements ICache {\n private cacheDir: string;\n private maxFileSize: number;\n\n constructor(options: FilesystemCacheOptionsType = {}) {\n this.cacheDir = options.cacheDir || `${process.cwd()}/.cache`;\n this.maxFileSize = options.maxFileSize || 10 * 1024 * 1024; // 10MB default\n }\n\n private async connect(): Promise<void> {\n try {\n const { mkdir, stat } = await import(\"node:fs/promises\");\n await mkdir(this.cacheDir, { recursive: true });\n\n const stats = await stat(this.cacheDir);\n if (!stats.isDirectory()) {\n throw new CacheException(\"Failed to create cache directory\");\n }\n } catch (error) {\n throw new CacheException(`Failed to initialize filesystem cache: ${error}`);\n }\n }\n\n public async get<T = unknown>(key: string): Promise<T | undefined> {\n try {\n await this.connect();\n const entry = await this.readCacheEntry<T>(key);\n\n return entry?.value;\n } catch (error) {\n throw new CacheException(`Failed to get key \"${key}\": ${error}`);\n }\n }\n\n public async set<T = unknown>(key: string, value: T, ttl?: number): Promise<void> {\n try {\n await this.connect();\n\n const entry: CacheEntryType<T> = {\n value,\n createdAt: Date.now(),\n originalKey: key,\n ...(ttl !== undefined && { ttl }),\n };\n\n await this.writeCacheEntry(key, entry);\n } catch (error) {\n throw new CacheException(`Failed to set key \"${key}\": ${error}`);\n }\n }\n\n public async delete(key: string): Promise<boolean> {\n try {\n await this.connect();\n\n const file = Bun.file(this.getFilePath(key));\n\n if (!(await file.exists())) {\n return false;\n }\n\n await file.delete();\n\n return true;\n } catch (error) {\n throw new CacheException(`Failed to delete key \"${key}\": ${error}`);\n }\n }\n\n public async has(key: string): Promise<boolean> {\n try {\n await this.connect();\n const entry = await this.readCacheEntry(key);\n\n return entry !== undefined;\n } catch (error) {\n throw new CacheException(`Failed to check if key \"${key}\" exists: ${error}`);\n }\n }\n\n private getFilePath(key: string): string {\n if (key.length > 200) {\n const hash = Bun.hash(key);\n return `${this.cacheDir}/${hash.toString(36)}.cache`;\n }\n\n const sanitizedKey = key.replace(/[<>:\"/\\\\|?*\\x00-\\x1f]/g, \"_\");\n\n return `${this.cacheDir}/${sanitizedKey}.cache`;\n }\n\n private isExpired(entry: CacheEntryType): boolean {\n if (!entry.ttl) return false;\n\n if (entry.ttl === 0) {\n return false;\n }\n\n return entry.createdAt + entry.ttl * 1000 < Date.now();\n }\n\n private async readCacheEntry<T>(key: string): Promise<CacheEntryType<T> | undefined> {\n try {\n const file = Bun.file(this.getFilePath(key));\n\n if (!(await file.exists())) {\n return;\n }\n\n const content = await file.text();\n const entry: CacheEntryType<T> = JSON.parse(content);\n\n if (this.isExpired(entry)) {\n await file.delete().catch(() => {});\n return;\n }\n\n return entry;\n } catch {\n return;\n }\n }\n\n private async writeCacheEntry<T>(key: string, entry: CacheEntryType<T>): Promise<void> {\n const content = JSON.stringify(entry);\n\n if (Buffer.byteLength(content, \"utf-8\") > this.maxFileSize) {\n throw new CacheException(`Cache entry exceeds maximum file size of ${this.maxFileSize} bytes`);\n }\n\n await Bun.write(this.getFilePath(key), content);\n }\n}\n",
8
+ "import { CacheException } from \"./CacheException\";\nimport { decorator } from \"./decorators\";\nimport type { ICache, RedisCacheOptionsType } from \"./types\";\n\n@decorator.cache()\nexport class RedisCache implements ICache {\n private client: Bun.RedisClient;\n\n constructor(options: RedisCacheOptionsType = {}) {\n const connectionString = options.connectionString || Bun.env.CACHE_REDIS_URL;\n\n if (!connectionString) {\n throw new CacheException(\n \"Redis connection string is required. Please provide a connection string either through the constructor options or set the CACHE_REDIS_URL environment variable.\",\n );\n }\n\n const { connectionString: _, ...userOptions } = options;\n\n const defaultOptions = {\n connectionTimeout: 10_000,\n idleTimeout: 30_000,\n autoReconnect: true,\n maxRetries: 3,\n enableOfflineQueue: true,\n enableAutoPipelining: true,\n };\n\n const clientOptions = { ...defaultOptions, ...userOptions };\n\n this.client = new Bun.RedisClient(connectionString, clientOptions);\n }\n\n private async connect(): Promise<void> {\n if (!this.client.connected) {\n await this.client.connect();\n }\n }\n\n public async get<T = unknown>(key: string): Promise<T | undefined> {\n try {\n await this.connect();\n const value = await this.client.get(key);\n\n if (value === null) {\n return;\n }\n\n try {\n return JSON.parse(value);\n } catch {\n return value as T;\n }\n } catch (error) {\n throw new CacheException(`Failed to get key \"${key}\": ${error}`);\n }\n }\n\n public async set<T = unknown>(key: string, value: T, ttl?: number): Promise<void> {\n try {\n await this.connect();\n\n const normalizedValue = value === undefined ? null : value;\n const serializedValue = typeof normalizedValue === \"string\" ? normalizedValue : JSON.stringify(normalizedValue);\n\n await this.client.set(key, serializedValue);\n\n if (ttl && ttl > 0) {\n await this.client.expire(key, ttl);\n }\n } catch (error) {\n throw new CacheException(`Failed to set key \"${key}\": ${error}`);\n }\n }\n\n public async delete(key: string): Promise<boolean> {\n try {\n await this.connect();\n const result = await this.client.del(key);\n\n return result > 0;\n } catch (error) {\n throw new CacheException(`Failed to delete key \"${key}\": ${error}`);\n }\n }\n\n public async has(key: string): Promise<boolean> {\n try {\n await this.connect();\n const result = await this.client.exists(key);\n\n return result;\n } catch (error) {\n throw new CacheException(`Failed to check if key \"${key}\" exists: ${error}`);\n }\n }\n}\n"
9
9
  ],
10
- "mappings": "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",
11
- "debugId": "2694BF573ECA1C5F64756E2164756E21",
10
+ "mappings": "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",
11
+ "debugId": "AC71E686C6C533DF64756E2164756E21",
12
12
  "names": []
13
13
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ooneex/cache",
3
3
  "description": "A flexible caching library with support for filesystem and Redis backends, featuring decorators for easy service integration",
4
- "version": "0.0.14",
4
+ "version": "0.0.15",
5
5
  "type": "module",
6
6
  "files": [
7
7
  "dist",
@@ -28,9 +28,9 @@
28
28
  "npm:publish": "bun publish --tolerate-republish --access public"
29
29
  },
30
30
  "dependencies": {
31
- "@ooneex/container": "0.0.12",
32
- "@ooneex/exception": "0.0.11",
33
- "@ooneex/http-status": "0.0.11"
31
+ "@ooneex/container": "0.0.14",
32
+ "@ooneex/exception": "0.0.13",
33
+ "@ooneex/http-status": "0.0.13"
34
34
  },
35
35
  "devDependencies": {},
36
36
  "keywords": [