+5
README.md
+5
README.md
···+getWithMetadata?(key: string): Promise<{ data: Uint8Array; metadata: StorageMetadata } | null>+The optional `getWithMetadata` method returns both data and metadata in a single call. Implement it if your backend can fetch both efficiently (e.g., parallel I/O, single query). Falls back to separate `get()` + `getMetadata()` calls if not implemented.
+65
-44
src/TieredStorage.ts
+65
-44
src/TieredStorage.ts
······
+1
src/index.ts
+1
src/index.ts
+36
-11
src/tiers/DiskStorageTier.ts
+36
-11
src/tiers/DiskStorageTier.ts
···import { readFile, writeFile, unlink, readdir, stat, mkdir, rm, rename } from 'node:fs/promises';+import type { StorageTier, StorageMetadata, TierStats, TierGetResult } from '../types/index.js';···
+19
-1
src/tiers/MemoryStorageTier.ts
+19
-1
src/tiers/MemoryStorageTier.ts
···+import type { StorageTier, StorageMetadata, TierStats, TierGetResult } from '../types/index.js';···
+70
-1
src/tiers/S3StorageTier.ts
+70
-1
src/tiers/S3StorageTier.ts
···+import type { StorageTier, StorageMetadata, TierStats, TierGetResult } from '../types/index.js';···
+22
src/types/index.ts
+22
src/types/index.ts
······