strata-storage 1.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 +113 -0
- package/android/src/main/java/com/strata/storage/EncryptedStorage.java +65 -0
- package/android/src/main/java/com/strata/storage/SQLiteStorage.java +147 -0
- package/android/src/main/java/com/strata/storage/SharedPreferencesStorage.java +74 -0
- package/android/src/main/java/com/stratastorage/StrataStoragePlugin.java +256 -0
- package/dist/adapters/capacitor/FilesystemAdapter.d.ts +46 -0
- package/dist/adapters/capacitor/FilesystemAdapter.d.ts.map +1 -0
- package/dist/adapters/capacitor/FilesystemAdapter.js +162 -0
- package/dist/adapters/capacitor/PreferencesAdapter.d.ts +46 -0
- package/dist/adapters/capacitor/PreferencesAdapter.d.ts.map +1 -0
- package/dist/adapters/capacitor/PreferencesAdapter.js +162 -0
- package/dist/adapters/capacitor/SecureAdapter.d.ts +69 -0
- package/dist/adapters/capacitor/SecureAdapter.d.ts.map +1 -0
- package/dist/adapters/capacitor/SecureAdapter.js +214 -0
- package/dist/adapters/capacitor/SqliteAdapter.d.ts +68 -0
- package/dist/adapters/capacitor/SqliteAdapter.d.ts.map +1 -0
- package/dist/adapters/capacitor/SqliteAdapter.js +277 -0
- package/dist/adapters/capacitor/index.d.ts +9 -0
- package/dist/adapters/capacitor/index.d.ts.map +1 -0
- package/dist/adapters/capacitor/index.js +8 -0
- package/dist/adapters/web/CacheAdapter.d.ts +91 -0
- package/dist/adapters/web/CacheAdapter.d.ts.map +1 -0
- package/dist/adapters/web/CacheAdapter.js +291 -0
- package/dist/adapters/web/CookieAdapter.d.ts +77 -0
- package/dist/adapters/web/CookieAdapter.d.ts.map +1 -0
- package/dist/adapters/web/CookieAdapter.js +260 -0
- package/dist/adapters/web/IndexedDBAdapter.d.ts +78 -0
- package/dist/adapters/web/IndexedDBAdapter.d.ts.map +1 -0
- package/dist/adapters/web/IndexedDBAdapter.js +371 -0
- package/dist/adapters/web/LocalStorageAdapter.d.ts +63 -0
- package/dist/adapters/web/LocalStorageAdapter.d.ts.map +1 -0
- package/dist/adapters/web/LocalStorageAdapter.js +238 -0
- package/dist/adapters/web/MemoryAdapter.d.ts +69 -0
- package/dist/adapters/web/MemoryAdapter.d.ts.map +1 -0
- package/dist/adapters/web/MemoryAdapter.js +165 -0
- package/dist/adapters/web/SessionStorageAdapter.d.ts +53 -0
- package/dist/adapters/web/SessionStorageAdapter.d.ts.map +1 -0
- package/dist/adapters/web/SessionStorageAdapter.js +180 -0
- package/dist/adapters/web/index.d.ts +10 -0
- package/dist/adapters/web/index.d.ts.map +1 -0
- package/dist/adapters/web/index.js +9 -0
- package/dist/core/AdapterRegistry.d.ts +52 -0
- package/dist/core/AdapterRegistry.d.ts.map +1 -0
- package/dist/core/AdapterRegistry.js +102 -0
- package/dist/core/BaseAdapter.d.ts +79 -0
- package/dist/core/BaseAdapter.d.ts.map +1 -0
- package/dist/core/BaseAdapter.js +197 -0
- package/dist/core/StorageStrategy.d.ts +55 -0
- package/dist/core/StorageStrategy.d.ts.map +1 -0
- package/dist/core/StorageStrategy.js +199 -0
- package/dist/core/Strata.d.ts +122 -0
- package/dist/core/Strata.d.ts.map +1 -0
- package/dist/core/Strata.js +568 -0
- package/dist/features/compression.d.ts +65 -0
- package/dist/features/compression.d.ts.map +1 -0
- package/dist/features/compression.js +205 -0
- package/dist/features/encryption.d.ts +68 -0
- package/dist/features/encryption.d.ts.map +1 -0
- package/dist/features/encryption.js +172 -0
- package/dist/features/migration.d.ts +17 -0
- package/dist/features/migration.d.ts.map +1 -0
- package/dist/features/migration.js +43 -0
- package/dist/features/query.d.ts +75 -0
- package/dist/features/query.d.ts.map +1 -0
- package/dist/features/query.js +305 -0
- package/dist/features/sync.d.ts +87 -0
- package/dist/features/sync.d.ts.map +1 -0
- package/dist/features/sync.js +233 -0
- package/dist/features/ttl.d.ts +124 -0
- package/dist/features/ttl.d.ts.map +1 -0
- package/dist/features/ttl.js +236 -0
- package/dist/index.d.ts +44 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +46 -0
- package/dist/package.json +60 -0
- package/dist/plugin/definitions.d.ts +219 -0
- package/dist/plugin/definitions.d.ts.map +1 -0
- package/dist/plugin/definitions.js +5 -0
- package/dist/plugin/index.d.ts +8 -0
- package/dist/plugin/index.d.ts.map +1 -0
- package/dist/plugin/index.js +27 -0
- package/dist/plugin/web.d.ts +24 -0
- package/dist/plugin/web.d.ts.map +1 -0
- package/dist/plugin/web.js +35 -0
- package/dist/types/index.d.ts +558 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +14 -0
- package/dist/utils/errors.d.ts +92 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +153 -0
- package/dist/utils/index.d.ts +105 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +329 -0
- package/ios/Plugin/KeychainStorage.swift +87 -0
- package/ios/Plugin/SQLiteStorage.swift +167 -0
- package/ios/Plugin/StrataStoragePlugin.swift +204 -0
- package/ios/Plugin/UserDefaultsStorage.swift +44 -0
- package/package.json +126 -0
- package/scripts/build.js +52 -0
- package/scripts/cli.js +60 -0
- package/scripts/configure.js +444 -0
- package/scripts/postinstall.js +33 -0
|
@@ -0,0 +1,558 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core type definitions for Strata Storage
|
|
3
|
+
* Zero dependencies - all types defined from scratch
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Supported storage types across all platforms
|
|
7
|
+
*/
|
|
8
|
+
export type StorageType = 'memory' | 'localStorage' | 'sessionStorage' | 'indexedDB' | 'cookies' | 'cache' | 'preferences' | 'sqlite' | 'filesystem' | 'secure';
|
|
9
|
+
/**
|
|
10
|
+
* Platform types
|
|
11
|
+
*/
|
|
12
|
+
export type Platform = 'web' | 'ios' | 'android' | 'node' | 'auto';
|
|
13
|
+
/**
|
|
14
|
+
* Storage strategies for automatic adapter selection
|
|
15
|
+
*/
|
|
16
|
+
export declare enum StorageStrategy {
|
|
17
|
+
PERFORMANCE_FIRST = "performance_first",
|
|
18
|
+
PERSISTENCE_FIRST = "persistence_first",
|
|
19
|
+
SECURITY_FIRST = "security_first",
|
|
20
|
+
CAPACITY_FIRST = "capacity_first"
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Options for storage operations
|
|
24
|
+
*/
|
|
25
|
+
export interface StorageOptions {
|
|
26
|
+
/**
|
|
27
|
+
* Storage type to use (overrides default)
|
|
28
|
+
*/
|
|
29
|
+
storage?: StorageType | StorageType[];
|
|
30
|
+
/**
|
|
31
|
+
* Enable encryption for this operation
|
|
32
|
+
*/
|
|
33
|
+
encrypt?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Password for encryption/decryption
|
|
36
|
+
*/
|
|
37
|
+
encryptionPassword?: string;
|
|
38
|
+
/**
|
|
39
|
+
* Skip decryption when reading encrypted values
|
|
40
|
+
*/
|
|
41
|
+
skipDecryption?: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Ignore decryption errors and return null instead
|
|
44
|
+
*/
|
|
45
|
+
ignoreDecryptionErrors?: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Enable compression for this operation
|
|
48
|
+
*/
|
|
49
|
+
compress?: boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Time to live in milliseconds
|
|
52
|
+
*/
|
|
53
|
+
ttl?: number;
|
|
54
|
+
/**
|
|
55
|
+
* Sliding expiration - reset TTL on access
|
|
56
|
+
*/
|
|
57
|
+
sliding?: boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Expire at specific time (overrides ttl)
|
|
60
|
+
*/
|
|
61
|
+
expireAt?: Date | number;
|
|
62
|
+
/**
|
|
63
|
+
* Expire after a certain date
|
|
64
|
+
*/
|
|
65
|
+
expireAfter?: Date | number;
|
|
66
|
+
/**
|
|
67
|
+
* Tags for grouping and querying
|
|
68
|
+
*/
|
|
69
|
+
tags?: string[];
|
|
70
|
+
/**
|
|
71
|
+
* Namespace for isolation
|
|
72
|
+
*/
|
|
73
|
+
namespace?: string;
|
|
74
|
+
/**
|
|
75
|
+
* Metadata to attach
|
|
76
|
+
*/
|
|
77
|
+
metadata?: Record<string, unknown>;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Storage value with metadata
|
|
81
|
+
*/
|
|
82
|
+
export interface StorageValue<T = unknown> {
|
|
83
|
+
/**
|
|
84
|
+
* The actual stored value
|
|
85
|
+
*/
|
|
86
|
+
value: T;
|
|
87
|
+
/**
|
|
88
|
+
* Creation timestamp
|
|
89
|
+
*/
|
|
90
|
+
created: number;
|
|
91
|
+
/**
|
|
92
|
+
* Last update timestamp
|
|
93
|
+
*/
|
|
94
|
+
updated: number;
|
|
95
|
+
/**
|
|
96
|
+
* Expiration timestamp (if TTL is set)
|
|
97
|
+
*/
|
|
98
|
+
expires?: number;
|
|
99
|
+
/**
|
|
100
|
+
* Tags for grouping
|
|
101
|
+
*/
|
|
102
|
+
tags?: string[];
|
|
103
|
+
/**
|
|
104
|
+
* Custom metadata
|
|
105
|
+
*/
|
|
106
|
+
metadata?: Record<string, unknown>;
|
|
107
|
+
/**
|
|
108
|
+
* Whether value is encrypted
|
|
109
|
+
*/
|
|
110
|
+
encrypted?: boolean;
|
|
111
|
+
/**
|
|
112
|
+
* Whether value is compressed
|
|
113
|
+
*/
|
|
114
|
+
compressed?: boolean;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Storage change event
|
|
118
|
+
*/
|
|
119
|
+
export interface StorageChange<T = unknown> {
|
|
120
|
+
/**
|
|
121
|
+
* The key that changed
|
|
122
|
+
*/
|
|
123
|
+
key: string;
|
|
124
|
+
/**
|
|
125
|
+
* Old value (if available)
|
|
126
|
+
*/
|
|
127
|
+
oldValue?: T;
|
|
128
|
+
/**
|
|
129
|
+
* New value (if available)
|
|
130
|
+
*/
|
|
131
|
+
newValue?: T;
|
|
132
|
+
/**
|
|
133
|
+
* Source of the change
|
|
134
|
+
*/
|
|
135
|
+
source: 'local' | 'remote' | 'sync';
|
|
136
|
+
/**
|
|
137
|
+
* Storage type where change occurred
|
|
138
|
+
*/
|
|
139
|
+
storage: StorageType;
|
|
140
|
+
/**
|
|
141
|
+
* Timestamp of change
|
|
142
|
+
*/
|
|
143
|
+
timestamp: number;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Subscription callback
|
|
147
|
+
*/
|
|
148
|
+
export type SubscriptionCallback<T = unknown> = (change: StorageChange<T>) => void;
|
|
149
|
+
/**
|
|
150
|
+
* Unsubscribe function
|
|
151
|
+
*/
|
|
152
|
+
export type UnsubscribeFunction = () => void;
|
|
153
|
+
/**
|
|
154
|
+
* Query operators for advanced operations
|
|
155
|
+
*/
|
|
156
|
+
export interface QueryOperators {
|
|
157
|
+
$eq?: unknown;
|
|
158
|
+
$ne?: unknown;
|
|
159
|
+
$gt?: number | string;
|
|
160
|
+
$gte?: number | string;
|
|
161
|
+
$lt?: number | string;
|
|
162
|
+
$lte?: number | string;
|
|
163
|
+
$in?: unknown[];
|
|
164
|
+
$nin?: unknown[];
|
|
165
|
+
$regex?: string | RegExp;
|
|
166
|
+
$exists?: boolean;
|
|
167
|
+
$type?: string;
|
|
168
|
+
$and?: QueryCondition[];
|
|
169
|
+
$or?: QueryCondition[];
|
|
170
|
+
$not?: QueryCondition;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Query condition
|
|
174
|
+
*/
|
|
175
|
+
export type QueryCondition = {
|
|
176
|
+
[key: string]: unknown | QueryOperators;
|
|
177
|
+
};
|
|
178
|
+
/**
|
|
179
|
+
* Clear options
|
|
180
|
+
*/
|
|
181
|
+
export interface ClearOptions {
|
|
182
|
+
/**
|
|
183
|
+
* Pattern to match keys (glob or regex)
|
|
184
|
+
*/
|
|
185
|
+
pattern?: string | RegExp;
|
|
186
|
+
/**
|
|
187
|
+
* Tags to filter by
|
|
188
|
+
*/
|
|
189
|
+
tags?: string[];
|
|
190
|
+
/**
|
|
191
|
+
* Only clear expired items
|
|
192
|
+
*/
|
|
193
|
+
expiredOnly?: boolean;
|
|
194
|
+
/**
|
|
195
|
+
* Namespace to clear
|
|
196
|
+
*/
|
|
197
|
+
namespace?: string;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Size information
|
|
201
|
+
*/
|
|
202
|
+
export interface SizeInfo {
|
|
203
|
+
/**
|
|
204
|
+
* Total size in bytes
|
|
205
|
+
*/
|
|
206
|
+
total: number;
|
|
207
|
+
/**
|
|
208
|
+
* Size by storage type
|
|
209
|
+
*/
|
|
210
|
+
byStorage?: Record<StorageType, number>;
|
|
211
|
+
/**
|
|
212
|
+
* Number of items
|
|
213
|
+
*/
|
|
214
|
+
count: number;
|
|
215
|
+
/**
|
|
216
|
+
* Detailed breakdown
|
|
217
|
+
*/
|
|
218
|
+
detailed?: {
|
|
219
|
+
keys: number;
|
|
220
|
+
values: number;
|
|
221
|
+
metadata: number;
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Storage adapter capabilities
|
|
226
|
+
*/
|
|
227
|
+
export interface StorageCapabilities {
|
|
228
|
+
/**
|
|
229
|
+
* Supports persistence across sessions
|
|
230
|
+
*/
|
|
231
|
+
persistent: boolean;
|
|
232
|
+
/**
|
|
233
|
+
* Supports synchronous operations
|
|
234
|
+
*/
|
|
235
|
+
synchronous: boolean;
|
|
236
|
+
/**
|
|
237
|
+
* Supports subscriptions/watching
|
|
238
|
+
*/
|
|
239
|
+
observable: boolean;
|
|
240
|
+
/**
|
|
241
|
+
* Supports transactions
|
|
242
|
+
*/
|
|
243
|
+
transactional: boolean;
|
|
244
|
+
/**
|
|
245
|
+
* Supports querying
|
|
246
|
+
*/
|
|
247
|
+
queryable: boolean;
|
|
248
|
+
/**
|
|
249
|
+
* Maximum storage size (bytes, -1 for unlimited)
|
|
250
|
+
*/
|
|
251
|
+
maxSize: number;
|
|
252
|
+
/**
|
|
253
|
+
* Supports binary data
|
|
254
|
+
*/
|
|
255
|
+
binary: boolean;
|
|
256
|
+
/**
|
|
257
|
+
* Supports encryption
|
|
258
|
+
*/
|
|
259
|
+
encrypted: boolean;
|
|
260
|
+
/**
|
|
261
|
+
* Cross-tab/window support
|
|
262
|
+
*/
|
|
263
|
+
crossTab: boolean;
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Strata configuration
|
|
267
|
+
*/
|
|
268
|
+
export interface StrataConfig {
|
|
269
|
+
/**
|
|
270
|
+
* Target platform
|
|
271
|
+
*/
|
|
272
|
+
platform?: Platform;
|
|
273
|
+
/**
|
|
274
|
+
* Storage selection strategy
|
|
275
|
+
*/
|
|
276
|
+
strategy?: StorageStrategy;
|
|
277
|
+
/**
|
|
278
|
+
* Default storage types in order of preference
|
|
279
|
+
*/
|
|
280
|
+
defaultStorages?: StorageType[];
|
|
281
|
+
/**
|
|
282
|
+
* Adapter configuration
|
|
283
|
+
*/
|
|
284
|
+
adapters?: {
|
|
285
|
+
memory?: boolean | {
|
|
286
|
+
maxSize?: number;
|
|
287
|
+
};
|
|
288
|
+
localStorage?: boolean | {
|
|
289
|
+
prefix?: string;
|
|
290
|
+
};
|
|
291
|
+
sessionStorage?: boolean | {
|
|
292
|
+
prefix?: string;
|
|
293
|
+
};
|
|
294
|
+
indexedDB?: boolean | {
|
|
295
|
+
dbName?: string;
|
|
296
|
+
version?: number;
|
|
297
|
+
};
|
|
298
|
+
cookies?: boolean | {
|
|
299
|
+
secure?: boolean;
|
|
300
|
+
sameSite?: 'strict' | 'lax' | 'none';
|
|
301
|
+
};
|
|
302
|
+
cache?: boolean | {
|
|
303
|
+
cacheName?: string;
|
|
304
|
+
};
|
|
305
|
+
preferences?: boolean;
|
|
306
|
+
sqlite?: boolean | {
|
|
307
|
+
filename?: string;
|
|
308
|
+
};
|
|
309
|
+
filesystem?: boolean | {
|
|
310
|
+
directory?: string;
|
|
311
|
+
};
|
|
312
|
+
secure?: boolean;
|
|
313
|
+
};
|
|
314
|
+
/**
|
|
315
|
+
* Native configuration (for mobile platforms)
|
|
316
|
+
*/
|
|
317
|
+
native?: {
|
|
318
|
+
preferences?: boolean;
|
|
319
|
+
sqlite?: boolean;
|
|
320
|
+
secure?: boolean;
|
|
321
|
+
filesystem?: boolean;
|
|
322
|
+
};
|
|
323
|
+
/**
|
|
324
|
+
* Sync configuration
|
|
325
|
+
*/
|
|
326
|
+
sync?: {
|
|
327
|
+
enabled?: boolean;
|
|
328
|
+
storages?: StorageType[];
|
|
329
|
+
interval?: number;
|
|
330
|
+
conflictResolution?: 'latest' | 'merge' | ((conflicts: unknown[]) => unknown);
|
|
331
|
+
};
|
|
332
|
+
/**
|
|
333
|
+
* Cache configuration
|
|
334
|
+
*/
|
|
335
|
+
cache?: {
|
|
336
|
+
enabled?: boolean;
|
|
337
|
+
maxSize?: string | number;
|
|
338
|
+
ttl?: number;
|
|
339
|
+
};
|
|
340
|
+
/**
|
|
341
|
+
* Compression configuration
|
|
342
|
+
*/
|
|
343
|
+
compression?: {
|
|
344
|
+
enabled?: boolean;
|
|
345
|
+
threshold?: number;
|
|
346
|
+
algorithm?: 'lz' | 'gzip';
|
|
347
|
+
};
|
|
348
|
+
/**
|
|
349
|
+
* Encryption configuration
|
|
350
|
+
*/
|
|
351
|
+
encryption?: {
|
|
352
|
+
enabled?: boolean;
|
|
353
|
+
algorithm?: 'AES-GCM' | 'AES-CBC';
|
|
354
|
+
password?: string;
|
|
355
|
+
keyLength?: 128 | 192 | 256;
|
|
356
|
+
iterations?: number;
|
|
357
|
+
saltLength?: number;
|
|
358
|
+
keyDerivation?: 'PBKDF2' | 'scrypt';
|
|
359
|
+
};
|
|
360
|
+
/**
|
|
361
|
+
* TTL (Time To Live) configuration
|
|
362
|
+
*/
|
|
363
|
+
ttl?: {
|
|
364
|
+
/**
|
|
365
|
+
* Default TTL in milliseconds
|
|
366
|
+
*/
|
|
367
|
+
defaultTTL?: number;
|
|
368
|
+
/**
|
|
369
|
+
* Cleanup interval in milliseconds (default: 60000 - 1 minute)
|
|
370
|
+
*/
|
|
371
|
+
cleanupInterval?: number;
|
|
372
|
+
/**
|
|
373
|
+
* Enable automatic cleanup (default: true)
|
|
374
|
+
*/
|
|
375
|
+
autoCleanup?: boolean;
|
|
376
|
+
/**
|
|
377
|
+
* Maximum number of items to check per cleanup cycle
|
|
378
|
+
*/
|
|
379
|
+
batchSize?: number;
|
|
380
|
+
/**
|
|
381
|
+
* Callback when items expire
|
|
382
|
+
*/
|
|
383
|
+
onExpire?: (keys: string[]) => void;
|
|
384
|
+
};
|
|
385
|
+
/**
|
|
386
|
+
* Debug configuration
|
|
387
|
+
*/
|
|
388
|
+
debug?: {
|
|
389
|
+
enabled?: boolean;
|
|
390
|
+
verbosity?: 'minimal' | 'normal' | 'verbose';
|
|
391
|
+
logOperations?: boolean;
|
|
392
|
+
logPerformance?: boolean;
|
|
393
|
+
};
|
|
394
|
+
/**
|
|
395
|
+
* Performance configuration
|
|
396
|
+
*/
|
|
397
|
+
performance?: {
|
|
398
|
+
slowThreshold?: number;
|
|
399
|
+
batchSize?: number;
|
|
400
|
+
};
|
|
401
|
+
}
|
|
402
|
+
/**
|
|
403
|
+
* Storage adapter interface - all adapters must implement this
|
|
404
|
+
*/
|
|
405
|
+
export interface StorageAdapter {
|
|
406
|
+
/**
|
|
407
|
+
* Adapter name
|
|
408
|
+
*/
|
|
409
|
+
readonly name: StorageType;
|
|
410
|
+
/**
|
|
411
|
+
* Adapter capabilities
|
|
412
|
+
*/
|
|
413
|
+
readonly capabilities: StorageCapabilities;
|
|
414
|
+
/**
|
|
415
|
+
* Check if adapter is available on current platform
|
|
416
|
+
*/
|
|
417
|
+
isAvailable(): Promise<boolean>;
|
|
418
|
+
/**
|
|
419
|
+
* Initialize the adapter
|
|
420
|
+
*/
|
|
421
|
+
initialize(config?: unknown): Promise<void>;
|
|
422
|
+
/**
|
|
423
|
+
* Get a value
|
|
424
|
+
*/
|
|
425
|
+
get<T = unknown>(key: string): Promise<StorageValue<T> | null>;
|
|
426
|
+
/**
|
|
427
|
+
* Set a value
|
|
428
|
+
*/
|
|
429
|
+
set<T = unknown>(key: string, value: StorageValue<T>): Promise<void>;
|
|
430
|
+
/**
|
|
431
|
+
* Remove a value
|
|
432
|
+
*/
|
|
433
|
+
remove(key: string): Promise<void>;
|
|
434
|
+
/**
|
|
435
|
+
* Clear all or matching values
|
|
436
|
+
*/
|
|
437
|
+
clear(options?: ClearOptions): Promise<void>;
|
|
438
|
+
/**
|
|
439
|
+
* Check if key exists
|
|
440
|
+
*/
|
|
441
|
+
has(key: string): Promise<boolean>;
|
|
442
|
+
/**
|
|
443
|
+
* Get all keys
|
|
444
|
+
*/
|
|
445
|
+
keys(pattern?: string | RegExp): Promise<string[]>;
|
|
446
|
+
/**
|
|
447
|
+
* Get storage size
|
|
448
|
+
*/
|
|
449
|
+
size(detailed?: boolean): Promise<SizeInfo>;
|
|
450
|
+
/**
|
|
451
|
+
* Subscribe to changes
|
|
452
|
+
*/
|
|
453
|
+
subscribe?(callback: SubscriptionCallback): UnsubscribeFunction;
|
|
454
|
+
/**
|
|
455
|
+
* Query values (if supported)
|
|
456
|
+
*/
|
|
457
|
+
query?<T = unknown>(condition: QueryCondition): Promise<Array<{
|
|
458
|
+
key: string;
|
|
459
|
+
value: T;
|
|
460
|
+
}>>;
|
|
461
|
+
/**
|
|
462
|
+
* Begin transaction (if supported)
|
|
463
|
+
*/
|
|
464
|
+
transaction?(): Promise<Transaction>;
|
|
465
|
+
/**
|
|
466
|
+
* Close/cleanup adapter
|
|
467
|
+
*/
|
|
468
|
+
close?(): Promise<void>;
|
|
469
|
+
}
|
|
470
|
+
/**
|
|
471
|
+
* Transaction interface for atomic operations
|
|
472
|
+
*/
|
|
473
|
+
export interface Transaction {
|
|
474
|
+
/**
|
|
475
|
+
* Get within transaction
|
|
476
|
+
*/
|
|
477
|
+
get<T = unknown>(key: string): Promise<T | null>;
|
|
478
|
+
/**
|
|
479
|
+
* Set within transaction
|
|
480
|
+
*/
|
|
481
|
+
set<T = unknown>(key: string, value: T): Promise<void>;
|
|
482
|
+
/**
|
|
483
|
+
* Remove within transaction
|
|
484
|
+
*/
|
|
485
|
+
remove(key: string): Promise<void>;
|
|
486
|
+
/**
|
|
487
|
+
* Commit transaction
|
|
488
|
+
*/
|
|
489
|
+
commit(): Promise<void>;
|
|
490
|
+
/**
|
|
491
|
+
* Rollback transaction
|
|
492
|
+
*/
|
|
493
|
+
rollback(): Promise<void>;
|
|
494
|
+
}
|
|
495
|
+
/**
|
|
496
|
+
* Migration interface
|
|
497
|
+
*/
|
|
498
|
+
export interface Migration {
|
|
499
|
+
/**
|
|
500
|
+
* Migration version
|
|
501
|
+
*/
|
|
502
|
+
version: number;
|
|
503
|
+
/**
|
|
504
|
+
* Migration description
|
|
505
|
+
*/
|
|
506
|
+
description?: string;
|
|
507
|
+
/**
|
|
508
|
+
* Run the migration
|
|
509
|
+
*/
|
|
510
|
+
up(storage: StorageAdapter): Promise<void>;
|
|
511
|
+
/**
|
|
512
|
+
* Rollback the migration
|
|
513
|
+
*/
|
|
514
|
+
down?(storage: StorageAdapter): Promise<void>;
|
|
515
|
+
}
|
|
516
|
+
/**
|
|
517
|
+
* Export/Import formats
|
|
518
|
+
*/
|
|
519
|
+
export type ExportFormat = 'json' | 'csv' | 'sql' | 'binary';
|
|
520
|
+
/**
|
|
521
|
+
* Export options
|
|
522
|
+
*/
|
|
523
|
+
export interface ExportOptions {
|
|
524
|
+
/**
|
|
525
|
+
* Format to export in
|
|
526
|
+
*/
|
|
527
|
+
format?: ExportFormat;
|
|
528
|
+
/**
|
|
529
|
+
* Include metadata
|
|
530
|
+
*/
|
|
531
|
+
includeMetadata?: boolean;
|
|
532
|
+
/**
|
|
533
|
+
* Keys to export (all if not specified)
|
|
534
|
+
*/
|
|
535
|
+
keys?: string[];
|
|
536
|
+
/**
|
|
537
|
+
* Pretty print JSON
|
|
538
|
+
*/
|
|
539
|
+
pretty?: boolean;
|
|
540
|
+
}
|
|
541
|
+
/**
|
|
542
|
+
* Import options
|
|
543
|
+
*/
|
|
544
|
+
export interface ImportOptions {
|
|
545
|
+
/**
|
|
546
|
+
* Format to import from
|
|
547
|
+
*/
|
|
548
|
+
format?: ExportFormat;
|
|
549
|
+
/**
|
|
550
|
+
* Overwrite existing keys
|
|
551
|
+
*/
|
|
552
|
+
overwrite?: boolean;
|
|
553
|
+
/**
|
|
554
|
+
* Merge strategy
|
|
555
|
+
*/
|
|
556
|
+
merge?: 'replace' | 'deep' | 'shallow';
|
|
557
|
+
}
|
|
558
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core type definitions for Strata Storage
|
|
3
|
+
* Zero dependencies - all types defined from scratch
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Storage strategies for automatic adapter selection
|
|
7
|
+
*/
|
|
8
|
+
export var StorageStrategy;
|
|
9
|
+
(function (StorageStrategy) {
|
|
10
|
+
StorageStrategy["PERFORMANCE_FIRST"] = "performance_first";
|
|
11
|
+
StorageStrategy["PERSISTENCE_FIRST"] = "persistence_first";
|
|
12
|
+
StorageStrategy["SECURITY_FIRST"] = "security_first";
|
|
13
|
+
StorageStrategy["CAPACITY_FIRST"] = "capacity_first";
|
|
14
|
+
})(StorageStrategy || (StorageStrategy = {}));
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Custom error classes for Strata Storage
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Base error class for all Strata errors
|
|
6
|
+
*/
|
|
7
|
+
export declare class StrataError extends Error {
|
|
8
|
+
readonly code: string;
|
|
9
|
+
readonly details?: unknown;
|
|
10
|
+
constructor(message: string, code: string, details?: unknown);
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Error thrown when storage quota is exceeded
|
|
14
|
+
*/
|
|
15
|
+
export declare class QuotaExceededError extends StrataError {
|
|
16
|
+
constructor(message?: string, details?: unknown);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Error thrown when adapter is not available
|
|
20
|
+
*/
|
|
21
|
+
export declare class AdapterNotAvailableError extends StrataError {
|
|
22
|
+
constructor(adapterName: string, details?: unknown);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Error thrown when operation is not supported
|
|
26
|
+
*/
|
|
27
|
+
export declare class NotSupportedError extends StrataError {
|
|
28
|
+
constructor(operation: string, adapterName?: string, details?: unknown);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Error thrown when encryption fails
|
|
32
|
+
*/
|
|
33
|
+
export declare class EncryptionError extends StrataError {
|
|
34
|
+
constructor(message?: string, details?: unknown);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Error thrown when compression fails
|
|
38
|
+
*/
|
|
39
|
+
export declare class CompressionError extends StrataError {
|
|
40
|
+
constructor(message?: string, details?: unknown);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Error thrown when serialization fails
|
|
44
|
+
*/
|
|
45
|
+
export declare class SerializationError extends StrataError {
|
|
46
|
+
constructor(message?: string, details?: unknown);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Error thrown when validation fails
|
|
50
|
+
*/
|
|
51
|
+
export declare class ValidationError extends StrataError {
|
|
52
|
+
constructor(message: string, details?: unknown);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Error thrown when transaction fails
|
|
56
|
+
*/
|
|
57
|
+
export declare class TransactionError extends StrataError {
|
|
58
|
+
constructor(message?: string, details?: unknown);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Error thrown when migration fails
|
|
62
|
+
*/
|
|
63
|
+
export declare class MigrationError extends StrataError {
|
|
64
|
+
constructor(message: string, details?: unknown);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Error thrown when sync operation fails
|
|
68
|
+
*/
|
|
69
|
+
export declare class SyncError extends StrataError {
|
|
70
|
+
constructor(message?: string, details?: unknown);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Check if error is a Strata error
|
|
74
|
+
*/
|
|
75
|
+
export declare function isStrataError(error: unknown): error is StrataError;
|
|
76
|
+
/**
|
|
77
|
+
* General storage error
|
|
78
|
+
*/
|
|
79
|
+
export declare class StorageError extends StrataError {
|
|
80
|
+
constructor(message: string, details?: unknown);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Error thrown when a key is not found
|
|
84
|
+
*/
|
|
85
|
+
export declare class NotFoundError extends StrataError {
|
|
86
|
+
constructor(key: string, details?: unknown);
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Check if error is a quota exceeded error
|
|
90
|
+
*/
|
|
91
|
+
export declare function isQuotaError(error: unknown): boolean;
|
|
92
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,qBAAa,WAAY,SAAQ,KAAK;IACpC,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,OAAO,CAAC,EAAE,OAAO,CAAC;gBAEtB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAW7D;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,WAAW;gBACrC,OAAO,SAA2B,EAAE,OAAO,CAAC,EAAE,OAAO;CAIlE;AAED;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,WAAW;gBAC3C,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAInD;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,WAAW;gBACpC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAOvE;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,WAAW;gBAClC,OAAO,SAAgC,EAAE,OAAO,CAAC,EAAE,OAAO;CAIvE;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,WAAW;gBACnC,OAAO,SAAiC,EAAE,OAAO,CAAC,EAAE,OAAO;CAIxE;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,WAAW;gBACrC,OAAO,SAAyB,EAAE,OAAO,CAAC,EAAE,OAAO;CAIhE;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,WAAW;gBAClC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAI/C;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,WAAW;gBACnC,OAAO,SAAuB,EAAE,OAAO,CAAC,EAAE,OAAO;CAI9D;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,WAAW;gBACjC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAI/C;AAED;;GAEG;AACH,qBAAa,SAAU,SAAQ,WAAW;gBAC5B,OAAO,SAA0B,EAAE,OAAO,CAAC,EAAE,OAAO;CAIjE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAElE;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,WAAW;gBAC/B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAI/C;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,WAAW;gBAChC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAI3C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAepD"}
|