@dynlabs/react-native-immutable-file-cache 1.0.0-alpha.1 → 1.0.0-alpha.3
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 +183 -261
- package/lib/commonjs/adapters/memoryAdapter.js +1 -0
- package/lib/commonjs/adapters/memoryAdapter.js.map +1 -1
- package/lib/commonjs/adapters/rnfsAdapter.js +9 -4
- package/lib/commonjs/adapters/rnfsAdapter.js.map +1 -1
- package/lib/commonjs/adapters/webAdapter.js +1 -0
- package/lib/commonjs/adapters/webAdapter.js.map +1 -1
- package/lib/commonjs/core/adapter.js +54 -0
- package/lib/commonjs/core/adapter.js.map +1 -1
- package/lib/commonjs/core/cacheEngine.js +452 -59
- package/lib/commonjs/core/cacheEngine.js.map +1 -1
- package/lib/commonjs/core/errors.js +9 -6
- package/lib/commonjs/core/errors.js.map +1 -1
- package/lib/commonjs/core/hash.js +3 -3
- package/lib/commonjs/core/hash.js.map +1 -1
- package/lib/commonjs/core/indexStore.js +85 -8
- package/lib/commonjs/core/indexStore.js.map +1 -1
- package/lib/commonjs/core/prune.js +42 -11
- package/lib/commonjs/core/prune.js.map +1 -1
- package/lib/commonjs/core/types.js +132 -0
- package/lib/commonjs/core/types.js.map +1 -1
- package/lib/commonjs/index.js +33 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/adapters/memoryAdapter.js +1 -0
- package/lib/module/adapters/memoryAdapter.js.map +1 -1
- package/lib/module/adapters/rnfsAdapter.js +9 -4
- package/lib/module/adapters/rnfsAdapter.js.map +1 -1
- package/lib/module/adapters/webAdapter.js +1 -0
- package/lib/module/adapters/webAdapter.js.map +1 -1
- package/lib/module/core/adapter.js +48 -0
- package/lib/module/core/adapter.js.map +1 -1
- package/lib/module/core/cacheEngine.js +453 -60
- package/lib/module/core/cacheEngine.js.map +1 -1
- package/lib/module/core/errors.js +9 -6
- package/lib/module/core/errors.js.map +1 -1
- package/lib/module/core/hash.js +3 -3
- package/lib/module/core/hash.js.map +1 -1
- package/lib/module/core/indexStore.js +86 -8
- package/lib/module/core/indexStore.js.map +1 -1
- package/lib/module/core/prune.js +40 -11
- package/lib/module/core/prune.js.map +1 -1
- package/lib/module/core/types.js +130 -1
- package/lib/module/core/types.js.map +1 -1
- package/lib/module/index.js +4 -0
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/adapters/memoryAdapter.d.ts.map +1 -1
- package/lib/typescript/src/adapters/rnfsAdapter.d.ts.map +1 -1
- package/lib/typescript/src/adapters/webAdapter.d.ts.map +1 -1
- package/lib/typescript/src/core/adapter.d.ts +16 -0
- package/lib/typescript/src/core/adapter.d.ts.map +1 -1
- package/lib/typescript/src/core/cacheEngine.d.ts +120 -1
- package/lib/typescript/src/core/cacheEngine.d.ts.map +1 -1
- package/lib/typescript/src/core/errors.d.ts +6 -5
- package/lib/typescript/src/core/errors.d.ts.map +1 -1
- package/lib/typescript/src/core/indexStore.d.ts +7 -0
- package/lib/typescript/src/core/indexStore.d.ts.map +1 -1
- package/lib/typescript/src/core/prune.d.ts +22 -8
- package/lib/typescript/src/core/prune.d.ts.map +1 -1
- package/lib/typescript/src/core/types.d.ts +153 -0
- package/lib/typescript/src/core/types.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +5 -2
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/adapters/memoryAdapter.ts +3 -0
- package/src/adapters/rnfsAdapter.ts +11 -4
- package/src/adapters/webAdapter.ts +1 -0
- package/src/core/adapter.ts +28 -0
- package/src/core/cacheEngine.ts +476 -62
- package/src/core/errors.ts +8 -6
- package/src/core/hash.ts +3 -3
- package/src/core/indexStore.ts +99 -11
- package/src/core/prune.ts +44 -14
- package/src/core/types.ts +194 -0
- package/src/index.ts +22 -0
package/src/core/adapter.ts
CHANGED
|
@@ -4,6 +4,11 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export type TAdapterPath = string;
|
|
6
6
|
|
|
7
|
+
/**
|
|
8
|
+
* Binary source type identifier.
|
|
9
|
+
*/
|
|
10
|
+
export type TBinarySourceType = TBinarySource["type"];
|
|
11
|
+
|
|
7
12
|
/**
|
|
8
13
|
* Discriminated union for binary content sources.
|
|
9
14
|
* Adapters support the subset they can handle; throw UnsupportedSourceError otherwise.
|
|
@@ -59,6 +64,14 @@ export interface IStorageAdapter {
|
|
|
59
64
|
/** A stable root identifier (e.g., absolute cache root on native, cache name on web). */
|
|
60
65
|
readonly rootId: string;
|
|
61
66
|
|
|
67
|
+
/**
|
|
68
|
+
* Set of binary source types this adapter supports.
|
|
69
|
+
* Used for capability checking before attempting operations.
|
|
70
|
+
* If not provided, all source types are assumed to be potentially supported
|
|
71
|
+
* (with UnsupportedSourceError thrown at runtime for unsupported types).
|
|
72
|
+
*/
|
|
73
|
+
readonly supportedSources?: ReadonlySet<TBinarySourceType>;
|
|
74
|
+
|
|
62
75
|
// ─────────────────────────────────────────────────────────────────
|
|
63
76
|
// Directory Management
|
|
64
77
|
// ─────────────────────────────────────────────────────────────────
|
|
@@ -126,3 +139,18 @@ export interface IStorageAdapter {
|
|
|
126
139
|
*/
|
|
127
140
|
getPublicUri(path: TAdapterPath): Promise<string>;
|
|
128
141
|
}
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* Checks if an adapter supports a given binary source type.
|
|
145
|
+
* Returns true if the adapter declares support or if no capability declaration exists.
|
|
146
|
+
*/
|
|
147
|
+
export function adapterSupportsSource(
|
|
148
|
+
adapter: IStorageAdapter,
|
|
149
|
+
sourceType: TBinarySourceType
|
|
150
|
+
): boolean {
|
|
151
|
+
if (!adapter.supportedSources) {
|
|
152
|
+
// No capability declaration - assume all types potentially supported
|
|
153
|
+
return true;
|
|
154
|
+
}
|
|
155
|
+
return adapter.supportedSources.has(sourceType);
|
|
156
|
+
}
|