@dynlabs/react-native-immutable-file-cache 1.0.0-alpha.3 → 1.0.0-alpha.4

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.
@@ -10,8 +10,11 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
10
10
  /**
11
11
  * React Native FS Adapter
12
12
  *
13
- * This is the ONLY file that imports react-native-fs.
13
+ * This is the ONLY file that imports react-native-fs by default.
14
14
  * Implements IStorageAdapter using RNFS APIs.
15
+ *
16
+ * Users can provide their own RNFS-compatible instance (e.g., a fork)
17
+ * via the `rnfs` option.
15
18
  */
16
19
 
17
20
  /* eslint-disable @typescript-eslint/no-unsafe-assignment */
@@ -23,11 +26,23 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
23
26
 
24
27
  // RNFS types are not fully typed, disable unsafe rules for this adapter
25
28
 
29
+ /**
30
+ * Minimal interface for RNFS-compatible libraries.
31
+ * Allows users to provide alternative implementations or forks.
32
+ */
33
+
26
34
  /**
27
35
  * Creates a storage adapter backed by react-native-fs.
36
+ *
37
+ * @param options - Configuration options
38
+ * @param options.baseDir - Base directory for cache storage
39
+ * @param options.namespace - Namespace subdirectory for isolation
40
+ * @param options.rnfs - Custom RNFS-compatible instance (for forks)
28
41
  */
29
42
  function createRnfsAdapter(options) {
30
- const baseDir = options?.baseDir ?? _reactNativeFs.default.CachesDirectoryPath;
43
+ // Use provided RNFS instance or fall back to default import
44
+ const RNFS = options?.rnfs ?? _reactNativeFs.default;
45
+ const baseDir = options?.baseDir ?? RNFS.CachesDirectoryPath;
31
46
  const namespace = options?.namespace ?? "default";
32
47
  const rootPath = `${baseDir}/immutable-cache/${namespace}`;
33
48
 
@@ -55,7 +70,7 @@ function createRnfsAdapter(options) {
55
70
  async ensureDir(path) {
56
71
  try {
57
72
  const absPath = toAbsolute(path);
58
- await _reactNativeFs.default.mkdir(absPath);
73
+ await RNFS.mkdir(absPath);
59
74
  } catch (error) {
60
75
  throw new _errors.AdapterIOError("ensureDir", path, error);
61
76
  }
@@ -63,7 +78,7 @@ function createRnfsAdapter(options) {
63
78
  async exists(path) {
64
79
  try {
65
80
  const absPath = toAbsolute(path);
66
- return await _reactNativeFs.default.exists(absPath);
81
+ return await RNFS.exists(absPath);
67
82
  } catch {
68
83
  return false;
69
84
  }
@@ -71,9 +86,9 @@ function createRnfsAdapter(options) {
71
86
  async remove(path) {
72
87
  try {
73
88
  const absPath = toAbsolute(path);
74
- const exists = await _reactNativeFs.default.exists(absPath);
89
+ const exists = await RNFS.exists(absPath);
75
90
  if (exists) {
76
- await _reactNativeFs.default.unlink(absPath);
91
+ await RNFS.unlink(absPath);
77
92
  }
78
93
  } catch (error) {
79
94
  throw new _errors.AdapterIOError("remove", path, error);
@@ -82,10 +97,10 @@ function createRnfsAdapter(options) {
82
97
  async removeDir(path) {
83
98
  try {
84
99
  const absPath = toAbsolute(path);
85
- const exists = await _reactNativeFs.default.exists(absPath);
100
+ const exists = await RNFS.exists(absPath);
86
101
  if (exists) {
87
102
  // RNFS.unlink can remove directories recursively
88
- await _reactNativeFs.default.unlink(absPath);
103
+ await RNFS.unlink(absPath);
89
104
  }
90
105
  } catch (error) {
91
106
  throw new _errors.AdapterIOError("removeDir", path, error);
@@ -94,11 +109,11 @@ function createRnfsAdapter(options) {
94
109
  async listDir(path) {
95
110
  try {
96
111
  const absPath = toAbsolute(path);
97
- const exists = await _reactNativeFs.default.exists(absPath);
112
+ const exists = await RNFS.exists(absPath);
98
113
  if (!exists) {
99
114
  return [];
100
115
  }
101
- const items = await _reactNativeFs.default.readDir(absPath);
116
+ const items = await RNFS.readDir(absPath);
102
117
  return items.map(item => item.name);
103
118
  } catch (error) {
104
119
  throw new _errors.AdapterIOError("listDir", path, error);
@@ -111,7 +126,7 @@ function createRnfsAdapter(options) {
111
126
  async readText(path, _encoding) {
112
127
  try {
113
128
  const absPath = toAbsolute(path);
114
- return await _reactNativeFs.default.readFile(absPath, "utf8");
129
+ return await RNFS.readFile(absPath, "utf8");
115
130
  } catch (error) {
116
131
  throw new _errors.AdapterIOError("readText", path, error);
117
132
  }
@@ -122,17 +137,17 @@ function createRnfsAdapter(options) {
122
137
  try {
123
138
  // Ensure parent directory exists
124
139
  const parentDir = absPath.substring(0, absPath.lastIndexOf("/"));
125
- await _reactNativeFs.default.mkdir(parentDir);
140
+ await RNFS.mkdir(parentDir);
126
141
 
127
142
  // Write to temp file
128
- await _reactNativeFs.default.writeFile(tempPath, content, "utf8");
143
+ await RNFS.writeFile(tempPath, content, "utf8");
129
144
 
130
145
  // Atomic move
131
- await _reactNativeFs.default.moveFile(tempPath, absPath);
146
+ await RNFS.moveFile(tempPath, absPath);
132
147
  } catch (error) {
133
148
  // Clean up temp file on error
134
149
  try {
135
- await _reactNativeFs.default.unlink(tempPath);
150
+ await RNFS.unlink(tempPath);
136
151
  } catch {
137
152
  // Ignore cleanup errors
138
153
  }
@@ -142,7 +157,7 @@ function createRnfsAdapter(options) {
142
157
  async stat(path) {
143
158
  try {
144
159
  const absPath = toAbsolute(path);
145
- const statResult = await _reactNativeFs.default.stat(absPath);
160
+ const statResult = await RNFS.stat(absPath);
146
161
  return {
147
162
  sizeBytes: statResult.size,
148
163
  mtimeMs: new Date(statResult.mtime).getTime()
@@ -157,7 +172,7 @@ function createRnfsAdapter(options) {
157
172
  try {
158
173
  // Ensure parent directory exists
159
174
  const parentDir = absPath.substring(0, absPath.lastIndexOf("/"));
160
- await _reactNativeFs.default.mkdir(parentDir);
175
+ await RNFS.mkdir(parentDir);
161
176
  let contentType;
162
177
  switch (source.type) {
163
178
  case "url":
@@ -166,7 +181,7 @@ function createRnfsAdapter(options) {
166
181
  const downloadResult = await new Promise((resolve, reject) => {
167
182
  const {
168
183
  promise
169
- } = _reactNativeFs.default.downloadFile({
184
+ } = RNFS.downloadFile({
170
185
  fromUrl: source.url,
171
186
  toFile: tempPath,
172
187
  headers: {
@@ -191,14 +206,14 @@ function createRnfsAdapter(options) {
191
206
  case "file":
192
207
  {
193
208
  // Copy file
194
- await _reactNativeFs.default.copyFile(source.filePath, tempPath);
209
+ await RNFS.copyFile(source.filePath, tempPath);
195
210
  break;
196
211
  }
197
212
  case "bytes":
198
213
  {
199
214
  // Convert Uint8Array to base64 and write
200
215
  const base64 = uint8ArrayToBase64(source.bytes);
201
- await _reactNativeFs.default.writeFile(tempPath, base64, "base64");
216
+ await RNFS.writeFile(tempPath, base64, "base64");
202
217
  break;
203
218
  }
204
219
  case "blob":
@@ -214,10 +229,10 @@ function createRnfsAdapter(options) {
214
229
  }
215
230
 
216
231
  // Get size before moving
217
- const statResult = await _reactNativeFs.default.stat(tempPath);
232
+ const statResult = await RNFS.stat(tempPath);
218
233
 
219
234
  // Atomic move
220
- await _reactNativeFs.default.moveFile(tempPath, absPath);
235
+ await RNFS.moveFile(tempPath, absPath);
221
236
 
222
237
  // Report 100% progress
223
238
  options?.onProgress?.(100);
@@ -228,7 +243,7 @@ function createRnfsAdapter(options) {
228
243
  } catch (error) {
229
244
  // Clean up temp file on error
230
245
  try {
231
- await _reactNativeFs.default.unlink(tempPath);
246
+ await RNFS.unlink(tempPath);
232
247
  } catch {
233
248
  // Ignore cleanup errors
234
249
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeFs","_interopRequireDefault","require","_errors","e","__esModule","default","createRnfsAdapter","options","baseDir","RNFS","CachesDirectoryPath","namespace","rootPath","toAbsolute","path","getTempPath","Date","now","Math","random","toString","slice","adapter","kind","rootId","supportedSources","Set","ensureDir","absPath","mkdir","error","AdapterIOError","exists","remove","unlink","removeDir","listDir","items","readDir","map","item","name","readText","_encoding","readFile","writeTextAtomic","content","tempPath","parentDir","substring","lastIndexOf","writeFile","moveFile","stat","statResult","sizeBytes","size","mtimeMs","mtime","getTime","writeBinaryAtomic","source","contentType","type","downloadResult","Promise","resolve","reject","promise","downloadFile","fromUrl","url","toFile","headers","progress","res","onProgress","contentLength","pct","bytesWritten","progressDivider","then","catch","statusCode","Error","copyFile","filePath","base64","uint8ArrayToBase64","bytes","UnsupportedSourceError","_exhaustive","getPublicUri","CHUNK_SIZE","chunks","i","length","chunk","subarray","push","String","fromCharCode","apply","btoa","join"],"sourceRoot":"../../../src","sources":["adapters/rnfsAdapter.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeFs","_interopRequireDefault","require","_errors","e","__esModule","default","createRnfsAdapter","options","RNFS","rnfs","DefaultRNFS","baseDir","CachesDirectoryPath","namespace","rootPath","toAbsolute","path","getTempPath","Date","now","Math","random","toString","slice","adapter","kind","rootId","supportedSources","Set","ensureDir","absPath","mkdir","error","AdapterIOError","exists","remove","unlink","removeDir","listDir","items","readDir","map","item","name","readText","_encoding","readFile","writeTextAtomic","content","tempPath","parentDir","substring","lastIndexOf","writeFile","moveFile","stat","statResult","sizeBytes","size","mtimeMs","mtime","getTime","writeBinaryAtomic","source","contentType","type","downloadResult","Promise","resolve","reject","promise","downloadFile","fromUrl","url","toFile","headers","progress","res","onProgress","contentLength","pct","bytesWritten","progressDivider","then","catch","statusCode","Error","copyFile","filePath","base64","uint8ArrayToBase64","bytes","UnsupportedSourceError","_exhaustive","getPublicUri","CHUNK_SIZE","chunks","i","length","chunk","subarray","push","String","fromCharCode","apply","btoa","join"],"sourceRoot":"../../../src","sources":["adapters/rnfsAdapter.ts"],"mappings":";;;;;;AAkBA,IAAAA,cAAA,GAAAC,sBAAA,CAAAC,OAAA;AASA,IAAAC,OAAA,GAAAD,OAAA;AAAwE,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AA3BxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAYA;AACA;AACA;AACA;;AAiEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASG,iBAAiBA,CAACC,OAA6B,EAAmB;EAChF;EACA,MAAMC,IAAe,GAAGD,OAAO,EAAEE,IAAI,IAAIC,sBAAW;EAEpD,MAAMC,OAAO,GAAGJ,OAAO,EAAEI,OAAO,IAAIH,IAAI,CAACI,mBAAmB;EAC5D,MAAMC,SAAS,GAAGN,OAAO,EAAEM,SAAS,IAAI,SAAS;EACjD,MAAMC,QAAQ,GAAG,GAAGH,OAAO,oBAAoBE,SAAS,EAAE;;EAE1D;AACF;AACA;EACE,MAAME,UAAU,GAAIC,IAAkB,IAAa;IACjD,OAAO,GAAGF,QAAQ,IAAIE,IAAI,EAAE;EAC9B,CAAC;;EAED;AACF;AACA;EACE,MAAMC,WAAW,GAAID,IAAkB,IAAa;IAClD,OAAO,GAAGD,UAAU,CAACC,IAAI,CAAC,QAAQE,IAAI,CAACC,GAAG,CAAC,CAAC,IAAIC,IAAI,CAACC,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,CAACC,KAAK,CAAC,CAAC,CAAC,EAAE;EACvF,CAAC;EAED,MAAMC,OAAwB,GAAG;IAC/BC,IAAI,EAAE,WAAW;IACjBC,MAAM,EAAEZ,QAAQ;IAChBa,gBAAgB,EAAE,IAAIC,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAuC;IAEzF;IACA;IACA;;IAEA,MAAMC,SAASA,CAACb,IAAkB,EAAiB;MACjD,IAAI;QACF,MAAMc,OAAO,GAAGf,UAAU,CAACC,IAAI,CAAC;QAChC,MAAMR,IAAI,CAACuB,KAAK,CAACD,OAAO,CAAC;MAC3B,CAAC,CAAC,OAAOE,KAAK,EAAE;QACd,MAAM,IAAIC,sBAAc,CAAC,WAAW,EAAEjB,IAAI,EAAEgB,KAAc,CAAC;MAC7D;IACF,CAAC;IAED,MAAME,MAAMA,CAAClB,IAAkB,EAAoB;MACjD,IAAI;QACF,MAAMc,OAAO,GAAGf,UAAU,CAACC,IAAI,CAAC;QAChC,OAAO,MAAMR,IAAI,CAAC0B,MAAM,CAACJ,OAAO,CAAC;MACnC,CAAC,CAAC,MAAM;QACN,OAAO,KAAK;MACd;IACF,CAAC;IAED,MAAMK,MAAMA,CAACnB,IAAkB,EAAiB;MAC9C,IAAI;QACF,MAAMc,OAAO,GAAGf,UAAU,CAACC,IAAI,CAAC;QAChC,MAAMkB,MAAM,GAAG,MAAM1B,IAAI,CAAC0B,MAAM,CAACJ,OAAO,CAAC;QACzC,IAAII,MAAM,EAAE;UACV,MAAM1B,IAAI,CAAC4B,MAAM,CAACN,OAAO,CAAC;QAC5B;MACF,CAAC,CAAC,OAAOE,KAAK,EAAE;QACd,MAAM,IAAIC,sBAAc,CAAC,QAAQ,EAAEjB,IAAI,EAAEgB,KAAc,CAAC;MAC1D;IACF,CAAC;IAED,MAAMK,SAASA,CAACrB,IAAkB,EAAiB;MACjD,IAAI;QACF,MAAMc,OAAO,GAAGf,UAAU,CAACC,IAAI,CAAC;QAChC,MAAMkB,MAAM,GAAG,MAAM1B,IAAI,CAAC0B,MAAM,CAACJ,OAAO,CAAC;QACzC,IAAII,MAAM,EAAE;UACV;UACA,MAAM1B,IAAI,CAAC4B,MAAM,CAACN,OAAO,CAAC;QAC5B;MACF,CAAC,CAAC,OAAOE,KAAK,EAAE;QACd,MAAM,IAAIC,sBAAc,CAAC,WAAW,EAAEjB,IAAI,EAAEgB,KAAc,CAAC;MAC7D;IACF,CAAC;IAED,MAAMM,OAAOA,CAACtB,IAAkB,EAAwC;MACtE,IAAI;QACF,MAAMc,OAAO,GAAGf,UAAU,CAACC,IAAI,CAAC;QAChC,MAAMkB,MAAM,GAAG,MAAM1B,IAAI,CAAC0B,MAAM,CAACJ,OAAO,CAAC;QACzC,IAAI,CAACI,MAAM,EAAE;UACX,OAAO,EAAE;QACX;QACA,MAAMK,KAAK,GAAG,MAAM/B,IAAI,CAACgC,OAAO,CAACV,OAAO,CAAC;QACzC,OAAOS,KAAK,CAACE,GAAG,CAAEC,IAAsB,IAAKA,IAAI,CAACC,IAAI,CAAC;MACzD,CAAC,CAAC,OAAOX,KAAK,EAAE;QACd,MAAM,IAAIC,sBAAc,CAAC,SAAS,EAAEjB,IAAI,EAAEgB,KAAc,CAAC;MAC3D;IACF,CAAC;IAED;IACA;IACA;;IAEA,MAAMY,QAAQA,CAAC5B,IAAkB,EAAE6B,SAAiB,EAAmB;MACrE,IAAI;QACF,MAAMf,OAAO,GAAGf,UAAU,CAACC,IAAI,CAAC;QAChC,OAAO,MAAMR,IAAI,CAACsC,QAAQ,CAAChB,OAAO,EAAE,MAAM,CAAC;MAC7C,CAAC,CAAC,OAAOE,KAAK,EAAE;QACd,MAAM,IAAIC,sBAAc,CAAC,UAAU,EAAEjB,IAAI,EAAEgB,KAAc,CAAC;MAC5D;IACF,CAAC;IAED,MAAMe,eAAeA,CAAC/B,IAAkB,EAAEgC,OAAe,EAAEH,SAAiB,EAAiB;MAC3F,MAAMI,QAAQ,GAAGhC,WAAW,CAACD,IAAI,CAAC;MAClC,MAAMc,OAAO,GAAGf,UAAU,CAACC,IAAI,CAAC;MAEhC,IAAI;QACF;QACA,MAAMkC,SAAS,GAAGpB,OAAO,CAACqB,SAAS,CAAC,CAAC,EAAErB,OAAO,CAACsB,WAAW,CAAC,GAAG,CAAC,CAAC;QAChE,MAAM5C,IAAI,CAACuB,KAAK,CAACmB,SAAS,CAAC;;QAE3B;QACA,MAAM1C,IAAI,CAAC6C,SAAS,CAACJ,QAAQ,EAAED,OAAO,EAAE,MAAM,CAAC;;QAE/C;QACA,MAAMxC,IAAI,CAAC8C,QAAQ,CAACL,QAAQ,EAAEnB,OAAO,CAAC;MACxC,CAAC,CAAC,OAAOE,KAAK,EAAE;QACd;QACA,IAAI;UACF,MAAMxB,IAAI,CAAC4B,MAAM,CAACa,QAAQ,CAAC;QAC7B,CAAC,CAAC,MAAM;UACN;QAAA;QAEF,MAAM,IAAIhB,sBAAc,CAAC,iBAAiB,EAAEjB,IAAI,EAAEgB,KAAc,CAAC;MACnE;IACF,CAAC;IAED,MAAMuB,IAAIA,CAACvC,IAAkB,EAAsB;MACjD,IAAI;QACF,MAAMc,OAAO,GAAGf,UAAU,CAACC,IAAI,CAAC;QAChC,MAAMwC,UAAU,GAAG,MAAMhD,IAAI,CAAC+C,IAAI,CAACzB,OAAO,CAAC;QAC3C,OAAO;UACL2B,SAAS,EAAED,UAAU,CAACE,IAAI;UAC1BC,OAAO,EAAE,IAAIzC,IAAI,CAACsC,UAAU,CAACI,KAAK,CAAC,CAACC,OAAO,CAAC;QAC9C,CAAC;MACH,CAAC,CAAC,OAAO7B,KAAK,EAAE;QACd,MAAM,IAAIC,sBAAc,CAAC,MAAM,EAAEjB,IAAI,EAAEgB,KAAc,CAAC;MACxD;IACF,CAAC;IAED,MAAM8B,iBAAiBA,CACrB9C,IAAkB,EAClB+C,MAAqB,EACrBxD,OAA6B,EACA;MAC7B,MAAM0C,QAAQ,GAAGhC,WAAW,CAACD,IAAI,CAAC;MAClC,MAAMc,OAAO,GAAGf,UAAU,CAACC,IAAI,CAAC;MAEhC,IAAI;QACF;QACA,MAAMkC,SAAS,GAAGpB,OAAO,CAACqB,SAAS,CAAC,CAAC,EAAErB,OAAO,CAACsB,WAAW,CAAC,GAAG,CAAC,CAAC;QAChE,MAAM5C,IAAI,CAACuB,KAAK,CAACmB,SAAS,CAAC;QAE3B,IAAIc,WAA+B;QAEnC,QAAQD,MAAM,CAACE,IAAI;UACjB,KAAK,KAAK;YAAE;cACV;cACA,MAAMC,cAAc,GAAG,MAAM,IAAIC,OAAO,CAAiB,CAACC,OAAO,EAAEC,MAAM,KAAK;gBAC5E,MAAM;kBAAEC;gBAAQ,CAAC,GAAG9D,IAAI,CAAC+D,YAAY,CAAC;kBACpCC,OAAO,EAAET,MAAM,CAACU,GAAG;kBACnBC,MAAM,EAAEzB,QAAQ;kBAChB0B,OAAO,EAAE;oBAAE,GAAGZ,MAAM,CAACY,OAAO;oBAAE,GAAGpE,OAAO,EAAEoE;kBAAQ,CAAC;kBACnDC,QAAQ,EAAGC,GAAoD,IAAK;oBAClE,IAAItE,OAAO,EAAEuE,UAAU,IAAID,GAAG,CAACE,aAAa,GAAG,CAAC,EAAE;sBAChD,MAAMC,GAAG,GAAIH,GAAG,CAACI,YAAY,GAAGJ,GAAG,CAACE,aAAa,GAAI,GAAG;sBACxDxE,OAAO,CAACuE,UAAU,CAACE,GAAG,CAAC;oBACzB;kBACF,CAAC;kBACDE,eAAe,EAAE;gBACnB,CAAC,CAAC;gBACFZ,OAAO,CAACa,IAAI,CAACf,OAAO,CAAC,CAACgB,KAAK,CAACf,MAAM,CAAC;cACrC,CAAC,CAAC;cAEF,IAAIH,cAAc,CAACmB,UAAU,GAAG,GAAG,IAAInB,cAAc,CAACmB,UAAU,IAAI,GAAG,EAAE;gBACvE,MAAM,IAAIC,KAAK,CAAC,+BAA+BpB,cAAc,CAACmB,UAAU,EAAE,CAAC;cAC7E;cACA;YACF;UAEA,KAAK,MAAM;YAAE;cACX;cACA,MAAM7E,IAAI,CAAC+E,QAAQ,CAACxB,MAAM,CAACyB,QAAQ,EAAEvC,QAAQ,CAAC;cAC9C;YACF;UAEA,KAAK,OAAO;YAAE;cACZ;cACA,MAAMwC,MAAM,GAAGC,kBAAkB,CAAC3B,MAAM,CAAC4B,KAAK,CAAC;cAC/C,MAAMnF,IAAI,CAAC6C,SAAS,CAACJ,QAAQ,EAAEwC,MAAM,EAAE,QAAQ,CAAC;cAChD;YACF;UAEA,KAAK,MAAM;YAAE;cACX;cACA,MAAM,IAAIG,8BAAsB,CAAC,MAAM,EAAE,WAAW,CAAC;YACvD;UAEA;YAAS;cACP,MAAMC,WAAkB,GAAG9B,MAAM;cACjC,MAAM,IAAI6B,8BAAsB,CAAEC,WAAW,CAAmB5B,IAAI,EAAE,WAAW,CAAC;YACpF;QACF;;QAEA;QACA,MAAMT,UAAU,GAAG,MAAMhD,IAAI,CAAC+C,IAAI,CAACN,QAAQ,CAAC;;QAE5C;QACA,MAAMzC,IAAI,CAAC8C,QAAQ,CAACL,QAAQ,EAAEnB,OAAO,CAAC;;QAEtC;QACAvB,OAAO,EAAEuE,UAAU,GAAG,GAAG,CAAC;QAE1B,OAAO;UACLrB,SAAS,EAAED,UAAU,CAACE,IAAI;UAC1BM;QACF,CAAC;MACH,CAAC,CAAC,OAAOhC,KAAK,EAAE;QACd;QACA,IAAI;UACF,MAAMxB,IAAI,CAAC4B,MAAM,CAACa,QAAQ,CAAC;QAC7B,CAAC,CAAC,MAAM;UACN;QAAA;QAGF,IAAIjB,KAAK,YAAY4D,8BAAsB,EAAE;UAC3C,MAAM5D,KAAK;QACb;QACA,MAAM,IAAIC,sBAAc,CAAC,mBAAmB,EAAEjB,IAAI,EAAEgB,KAAc,CAAC;MACrE;IACF,CAAC;IAED,MAAM8D,YAAYA,CAAC9E,IAAkB,EAAmB;MACtD,MAAMc,OAAO,GAAGf,UAAU,CAACC,IAAI,CAAC;MAChC;MACA,OAAO,UAAUc,OAAO,EAAE;IAC5B;EACF,CAAC;EAED,OAAON,OAAO;AAChB;;AAEA;AACA;AACA;AACA;AACA,SAASkE,kBAAkBA,CAACC,KAAiB,EAAU;EACrD;EACA,MAAMI,UAAU,GAAG,MAAM,CAAC,CAAC;EAC3B,MAAMC,MAAgB,GAAG,EAAE;EAE3B,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGN,KAAK,CAACO,MAAM,EAAED,CAAC,IAAIF,UAAU,EAAE;IACjD,MAAMI,KAAK,GAAGR,KAAK,CAACS,QAAQ,CAACH,CAAC,EAAEA,CAAC,GAAGF,UAAU,CAAC;IAC/CC,MAAM,CAACK,IAAI,CAACC,MAAM,CAACC,YAAY,CAACC,KAAK,CAAC,IAAI,EAAEL,KAA4B,CAAC,CAAC;EAC5E;EAEA,OAAOM,IAAI,CAACT,MAAM,CAACU,IAAI,CAAC,EAAE,CAAC,CAAC;AAC9B","ignoreList":[]}
@@ -1,8 +1,11 @@
1
1
  /**
2
2
  * React Native FS Adapter
3
3
  *
4
- * This is the ONLY file that imports react-native-fs.
4
+ * This is the ONLY file that imports react-native-fs by default.
5
5
  * Implements IStorageAdapter using RNFS APIs.
6
+ *
7
+ * Users can provide their own RNFS-compatible instance (e.g., a fork)
8
+ * via the `rnfs` option.
6
9
  */
7
10
 
8
11
  /* eslint-disable @typescript-eslint/no-unsafe-assignment */
@@ -13,12 +16,25 @@
13
16
  /* eslint-disable @typescript-eslint/require-await */
14
17
 
15
18
  // RNFS types are not fully typed, disable unsafe rules for this adapter
16
- import RNFS from "react-native-fs";
19
+ import DefaultRNFS from "react-native-fs";
17
20
  import { UnsupportedSourceError, AdapterIOError } from "../core/errors";
21
+
22
+ /**
23
+ * Minimal interface for RNFS-compatible libraries.
24
+ * Allows users to provide alternative implementations or forks.
25
+ */
26
+
18
27
  /**
19
28
  * Creates a storage adapter backed by react-native-fs.
29
+ *
30
+ * @param options - Configuration options
31
+ * @param options.baseDir - Base directory for cache storage
32
+ * @param options.namespace - Namespace subdirectory for isolation
33
+ * @param options.rnfs - Custom RNFS-compatible instance (for forks)
20
34
  */
21
35
  export function createRnfsAdapter(options) {
36
+ // Use provided RNFS instance or fall back to default import
37
+ const RNFS = options?.rnfs ?? DefaultRNFS;
22
38
  const baseDir = options?.baseDir ?? RNFS.CachesDirectoryPath;
23
39
  const namespace = options?.namespace ?? "default";
24
40
  const rootPath = `${baseDir}/immutable-cache/${namespace}`;
@@ -1 +1 @@
1
- {"version":3,"names":["RNFS","UnsupportedSourceError","AdapterIOError","createRnfsAdapter","options","baseDir","CachesDirectoryPath","namespace","rootPath","toAbsolute","path","getTempPath","Date","now","Math","random","toString","slice","adapter","kind","rootId","supportedSources","Set","ensureDir","absPath","mkdir","error","exists","remove","unlink","removeDir","listDir","items","readDir","map","item","name","readText","_encoding","readFile","writeTextAtomic","content","tempPath","parentDir","substring","lastIndexOf","writeFile","moveFile","stat","statResult","sizeBytes","size","mtimeMs","mtime","getTime","writeBinaryAtomic","source","contentType","type","downloadResult","Promise","resolve","reject","promise","downloadFile","fromUrl","url","toFile","headers","progress","res","onProgress","contentLength","pct","bytesWritten","progressDivider","then","catch","statusCode","Error","copyFile","filePath","base64","uint8ArrayToBase64","bytes","_exhaustive","getPublicUri","CHUNK_SIZE","chunks","i","length","chunk","subarray","push","String","fromCharCode","apply","btoa","join"],"sourceRoot":"../../../src","sources":["adapters/rnfsAdapter.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["DefaultRNFS","UnsupportedSourceError","AdapterIOError","createRnfsAdapter","options","RNFS","rnfs","baseDir","CachesDirectoryPath","namespace","rootPath","toAbsolute","path","getTempPath","Date","now","Math","random","toString","slice","adapter","kind","rootId","supportedSources","Set","ensureDir","absPath","mkdir","error","exists","remove","unlink","removeDir","listDir","items","readDir","map","item","name","readText","_encoding","readFile","writeTextAtomic","content","tempPath","parentDir","substring","lastIndexOf","writeFile","moveFile","stat","statResult","sizeBytes","size","mtimeMs","mtime","getTime","writeBinaryAtomic","source","contentType","type","downloadResult","Promise","resolve","reject","promise","downloadFile","fromUrl","url","toFile","headers","progress","res","onProgress","contentLength","pct","bytesWritten","progressDivider","then","catch","statusCode","Error","copyFile","filePath","base64","uint8ArrayToBase64","bytes","_exhaustive","getPublicUri","CHUNK_SIZE","chunks","i","length","chunk","subarray","push","String","fromCharCode","apply","btoa","join"],"sourceRoot":"../../../src","sources":["adapters/rnfsAdapter.ts"],"mappings":"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","ignoreList":[]}
@@ -1,18 +1,87 @@
1
1
  /**
2
2
  * React Native FS Adapter
3
3
  *
4
- * This is the ONLY file that imports react-native-fs.
4
+ * This is the ONLY file that imports react-native-fs by default.
5
5
  * Implements IStorageAdapter using RNFS APIs.
6
+ *
7
+ * Users can provide their own RNFS-compatible instance (e.g., a fork)
8
+ * via the `rnfs` option.
6
9
  */
10
+ import { type DownloadResult } from "react-native-fs";
7
11
  import type { IStorageAdapter } from "../core/adapter";
12
+ /**
13
+ * Minimal interface for RNFS-compatible libraries.
14
+ * Allows users to provide alternative implementations or forks.
15
+ */
16
+ export interface IRnfsLike {
17
+ /** Path to the caches directory. */
18
+ readonly CachesDirectoryPath: string;
19
+ /** Check if a file/directory exists. */
20
+ exists(path: string): Promise<boolean>;
21
+ /** Create a directory (and parents). */
22
+ mkdir(path: string): Promise<void>;
23
+ /** Delete a file or directory. */
24
+ unlink(path: string): Promise<void>;
25
+ /** Read directory contents. */
26
+ readDir(path: string): Promise<ReadonlyArray<{
27
+ name: string;
28
+ }>>;
29
+ /** Read file as text. */
30
+ readFile(path: string, encoding: "utf8" | "base64"): Promise<string>;
31
+ /** Write file. */
32
+ writeFile(path: string, content: string, encoding: "utf8" | "base64"): Promise<void>;
33
+ /** Move/rename a file. */
34
+ moveFile(from: string, to: string): Promise<void>;
35
+ /** Copy a file. */
36
+ copyFile(from: string, to: string): Promise<void>;
37
+ /** Get file stats. */
38
+ stat(path: string): Promise<{
39
+ size: number;
40
+ mtime: string | number | Date;
41
+ }>;
42
+ /** Download a file from URL. */
43
+ downloadFile(options: {
44
+ fromUrl: string;
45
+ toFile: string;
46
+ headers?: Record<string, string>;
47
+ progress?: (res: {
48
+ contentLength: number;
49
+ bytesWritten: number;
50
+ }) => void;
51
+ progressDivider?: number;
52
+ }): {
53
+ promise: Promise<DownloadResult>;
54
+ };
55
+ }
8
56
  export interface IRnfsAdapterOptions {
9
57
  /** Base directory. @default RNFS.CachesDirectoryPath */
10
58
  readonly baseDir?: string;
11
59
  /** Namespace subdirectory. */
12
60
  readonly namespace?: string;
61
+ /**
62
+ * Custom RNFS-compatible instance.
63
+ * Use this to provide a fork or alternative implementation of react-native-fs.
64
+ * @default The default react-native-fs import
65
+ *
66
+ * @example
67
+ * ```typescript
68
+ * import CustomRNFS from 'react-native-fs-turbo';
69
+ *
70
+ * const adapter = createRnfsAdapter({
71
+ * rnfs: CustomRNFS,
72
+ * namespace: 'my-cache',
73
+ * });
74
+ * ```
75
+ */
76
+ readonly rnfs?: IRnfsLike;
13
77
  }
14
78
  /**
15
79
  * Creates a storage adapter backed by react-native-fs.
80
+ *
81
+ * @param options - Configuration options
82
+ * @param options.baseDir - Base directory for cache storage
83
+ * @param options.namespace - Namespace subdirectory for isolation
84
+ * @param options.rnfs - Custom RNFS-compatible instance (for forks)
16
85
  */
17
86
  export declare function createRnfsAdapter(options?: IRnfsAdapterOptions): IStorageAdapter;
18
87
  //# sourceMappingURL=rnfsAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rnfsAdapter.d.ts","sourceRoot":"","sources":["../../../../src/adapters/rnfsAdapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,OAAO,KAAK,EACV,eAAe,EAMhB,MAAM,iBAAiB,CAAC;AAGzB,MAAM,WAAW,mBAAmB;IAClC,wDAAwD;IACxD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,8BAA8B;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,eAAe,CA4OhF"}
1
+ {"version":3,"file":"rnfsAdapter.d.ts","sourceRoot":"","sources":["../../../../src/adapters/rnfsAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH,OAAoB,EAAE,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,KAAK,EACV,eAAe,EAMhB,MAAM,iBAAiB,CAAC;AAGzB;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,oCAAoC;IACpC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IAErC,wCAAwC;IACxC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEvC,wCAAwC;IACxC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnC,kCAAkC;IAClC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpC,+BAA+B;IAC/B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAEhE,yBAAyB;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAErE,kBAAkB;IAClB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErF,0BAA0B;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElD,mBAAmB;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElD,sBAAsB;IACtB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAE7E,gCAAgC;IAChC,YAAY,CAAC,OAAO,EAAE;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE;YAAE,aAAa,EAAE,MAAM,CAAC;YAAC,YAAY,EAAE,MAAM,CAAA;SAAE,KAAK,IAAI,CAAC;QAC1E,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;KAAE,CAAC;CAC1C;AAED,MAAM,WAAW,mBAAmB;IAClC,wDAAwD;IACxD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,8BAA8B;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,eAAe,CA+OhF"}
@@ -12,7 +12,7 @@ export { CacheEngine } from "./core/cacheEngine";
12
12
  export { createImmutableFileCache, createCacheEngineSync } from "./factory";
13
13
  export type { ICreateCacheOptions } from "./factory";
14
14
  export { createRnfsAdapter } from "./adapters/rnfsAdapter";
15
- export type { IRnfsAdapterOptions } from "./adapters/rnfsAdapter";
15
+ export type { IRnfsAdapterOptions, IRnfsLike } from "./adapters/rnfsAdapter";
16
16
  export { createWebAdapter } from "./adapters/webAdapter";
17
17
  export type { IWebAdapterOptions, IWebAdapterWithCleanup } from "./adapters/webAdapter";
18
18
  export { createMemoryAdapter } from "./adapters/memoryAdapter";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,YAAY,EACV,eAAe,EACf,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,SAAS,EACT,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,YAAY,EACV,YAAY,EACZ,WAAW,EACX,eAAe,EACf,WAAW,EACX,WAAW,EACX,UAAU,EACV,UAAU,EACV,eAAe,EACf,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,UAAU,EACV,UAAU,EACV,UAAU,EAEV,OAAO,EACP,GAAG,EACH,IAAI,EAEJ,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAMvC,OAAO,EACL,UAAU,EACV,sBAAsB,EACtB,cAAc,EACd,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAMvB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAMjD,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAE5E,YAAY,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAMrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAExF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAM/D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,YAAY,EACV,eAAe,EACf,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,SAAS,EACT,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,YAAY,EACV,YAAY,EACZ,WAAW,EACX,eAAe,EACf,WAAW,EACX,WAAW,EACX,UAAU,EACV,UAAU,EACV,eAAe,EACf,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,UAAU,EACV,UAAU,EACV,UAAU,EAEV,OAAO,EACP,GAAG,EACH,IAAI,EAEJ,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAMvC,OAAO,EACL,UAAU,EACV,sBAAsB,EACtB,cAAc,EACd,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAMvB,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAMjD,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAE5E,YAAY,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAMrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAE7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAExF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAM/D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynlabs/react-native-immutable-file-cache",
3
- "version": "1.0.0-alpha.3",
3
+ "version": "1.0.0-alpha.4",
4
4
  "description": "Cross-platform immutable file cache with pluggable storage adapters for React Native and Web",
5
5
  "author": "dienp",
6
6
  "license": "MIT",
@@ -63,7 +63,8 @@
63
63
  "prepublishOnly": "npm run build && npm run lint && npm run typecheck && npm test",
64
64
  "release:patch": "npm version patch",
65
65
  "release:minor": "npm version minor",
66
- "release:major": "npm version major"
66
+ "release:major": "npm version major",
67
+ "prepare": "husky"
67
68
  },
68
69
  "keywords": [
69
70
  "react-native",
@@ -98,7 +99,9 @@
98
99
  "eslint": "^8.57.0",
99
100
  "eslint-config-prettier": "^9.1.0",
100
101
  "eslint-plugin-prettier": "^5.1.3",
102
+ "husky": "^9.1.7",
101
103
  "jest": "^29.7.0",
104
+ "lint-staged": "^16.2.7",
102
105
  "prettier": "^3.2.5",
103
106
  "react-native-builder-bob": "^0.23.2",
104
107
  "rimraf": "^5.0.5",
@@ -121,5 +124,14 @@
121
124
  },
122
125
  "engines": {
123
126
  "node": ">=18"
127
+ },
128
+ "lint-staged": {
129
+ "src/**/*.{ts,tsx}": [
130
+ "eslint --fix",
131
+ "prettier --write"
132
+ ],
133
+ "__tests__/**/*.ts": [
134
+ "prettier --write"
135
+ ]
124
136
  }
125
137
  }
@@ -1,8 +1,11 @@
1
1
  /**
2
2
  * React Native FS Adapter
3
3
  *
4
- * This is the ONLY file that imports react-native-fs.
4
+ * This is the ONLY file that imports react-native-fs by default.
5
5
  * Implements IStorageAdapter using RNFS APIs.
6
+ *
7
+ * Users can provide their own RNFS-compatible instance (e.g., a fork)
8
+ * via the `rnfs` option.
6
9
  */
7
10
 
8
11
  /* eslint-disable @typescript-eslint/no-unsafe-assignment */
@@ -13,7 +16,7 @@
13
16
  /* eslint-disable @typescript-eslint/require-await */
14
17
 
15
18
  // RNFS types are not fully typed, disable unsafe rules for this adapter
16
- import RNFS, { type DownloadResult } from "react-native-fs";
19
+ import DefaultRNFS, { type DownloadResult } from "react-native-fs";
17
20
  import type {
18
21
  IStorageAdapter,
19
22
  TAdapterPath,
@@ -24,17 +27,86 @@ import type {
24
27
  } from "../core/adapter";
25
28
  import { UnsupportedSourceError, AdapterIOError } from "../core/errors";
26
29
 
30
+ /**
31
+ * Minimal interface for RNFS-compatible libraries.
32
+ * Allows users to provide alternative implementations or forks.
33
+ */
34
+ export interface IRnfsLike {
35
+ /** Path to the caches directory. */
36
+ readonly CachesDirectoryPath: string;
37
+
38
+ /** Check if a file/directory exists. */
39
+ exists(path: string): Promise<boolean>;
40
+
41
+ /** Create a directory (and parents). */
42
+ mkdir(path: string): Promise<void>;
43
+
44
+ /** Delete a file or directory. */
45
+ unlink(path: string): Promise<void>;
46
+
47
+ /** Read directory contents. */
48
+ readDir(path: string): Promise<ReadonlyArray<{ name: string }>>;
49
+
50
+ /** Read file as text. */
51
+ readFile(path: string, encoding: "utf8" | "base64"): Promise<string>;
52
+
53
+ /** Write file. */
54
+ writeFile(path: string, content: string, encoding: "utf8" | "base64"): Promise<void>;
55
+
56
+ /** Move/rename a file. */
57
+ moveFile(from: string, to: string): Promise<void>;
58
+
59
+ /** Copy a file. */
60
+ copyFile(from: string, to: string): Promise<void>;
61
+
62
+ /** Get file stats. */
63
+ stat(path: string): Promise<{ size: number; mtime: string | number | Date }>;
64
+
65
+ /** Download a file from URL. */
66
+ downloadFile(options: {
67
+ fromUrl: string;
68
+ toFile: string;
69
+ headers?: Record<string, string>;
70
+ progress?: (res: { contentLength: number; bytesWritten: number }) => void;
71
+ progressDivider?: number;
72
+ }): { promise: Promise<DownloadResult> };
73
+ }
74
+
27
75
  export interface IRnfsAdapterOptions {
28
76
  /** Base directory. @default RNFS.CachesDirectoryPath */
29
77
  readonly baseDir?: string;
30
78
  /** Namespace subdirectory. */
31
79
  readonly namespace?: string;
80
+ /**
81
+ * Custom RNFS-compatible instance.
82
+ * Use this to provide a fork or alternative implementation of react-native-fs.
83
+ * @default The default react-native-fs import
84
+ *
85
+ * @example
86
+ * ```typescript
87
+ * import CustomRNFS from 'react-native-fs-turbo';
88
+ *
89
+ * const adapter = createRnfsAdapter({
90
+ * rnfs: CustomRNFS,
91
+ * namespace: 'my-cache',
92
+ * });
93
+ * ```
94
+ */
95
+ readonly rnfs?: IRnfsLike;
32
96
  }
33
97
 
34
98
  /**
35
99
  * Creates a storage adapter backed by react-native-fs.
100
+ *
101
+ * @param options - Configuration options
102
+ * @param options.baseDir - Base directory for cache storage
103
+ * @param options.namespace - Namespace subdirectory for isolation
104
+ * @param options.rnfs - Custom RNFS-compatible instance (for forks)
36
105
  */
37
106
  export function createRnfsAdapter(options?: IRnfsAdapterOptions): IStorageAdapter {
107
+ // Use provided RNFS instance or fall back to default import
108
+ const RNFS: IRnfsLike = options?.rnfs ?? DefaultRNFS;
109
+
38
110
  const baseDir = options?.baseDir ?? RNFS.CachesDirectoryPath;
39
111
  const namespace = options?.namespace ?? "default";
40
112
  const rootPath = `${baseDir}/immutable-cache/${namespace}`;
package/src/index.ts CHANGED
@@ -87,7 +87,7 @@ export type { ICreateCacheOptions } from "./factory";
87
87
  // ─────────────────────────────────────────────────────────────────
88
88
 
89
89
  export { createRnfsAdapter } from "./adapters/rnfsAdapter";
90
- export type { IRnfsAdapterOptions } from "./adapters/rnfsAdapter";
90
+ export type { IRnfsAdapterOptions, IRnfsLike } from "./adapters/rnfsAdapter";
91
91
 
92
92
  export { createWebAdapter } from "./adapters/webAdapter";
93
93
  export type { IWebAdapterOptions, IWebAdapterWithCleanup } from "./adapters/webAdapter";