@spinajs/fs 2.0.481 → 2.0.482

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.
Files changed (211) hide show
  1. package/lib/cjs/cli/cat.d.ts +11 -0
  2. package/lib/cjs/cli/cat.d.ts.map +1 -0
  3. package/lib/cjs/cli/cat.js +40 -0
  4. package/lib/cjs/cli/cat.js.map +1 -0
  5. package/lib/cjs/cli/cp.d.ts +11 -0
  6. package/lib/cjs/cli/cp.d.ts.map +1 -0
  7. package/lib/cjs/cli/cp.js +41 -0
  8. package/lib/cjs/cli/cp.js.map +1 -0
  9. package/lib/cjs/cli/download.d.ts +7 -0
  10. package/lib/cjs/cli/download.d.ts.map +1 -0
  11. package/lib/cjs/cli/download.js +39 -0
  12. package/lib/cjs/cli/download.js.map +1 -0
  13. package/lib/cjs/cli/exists.d.ts +7 -0
  14. package/lib/cjs/cli/exists.d.ts.map +1 -0
  15. package/lib/cjs/cli/exists.js +39 -0
  16. package/lib/cjs/cli/exists.js.map +1 -0
  17. package/lib/cjs/cli/fs.d.ts +11 -0
  18. package/lib/cjs/cli/fs.d.ts.map +1 -1
  19. package/lib/cjs/cli/fs.js +47 -21
  20. package/lib/cjs/cli/fs.js.map +1 -1
  21. package/lib/cjs/cli/hash.d.ts +11 -0
  22. package/lib/cjs/cli/hash.d.ts.map +1 -0
  23. package/lib/cjs/cli/hash.js +40 -0
  24. package/lib/cjs/cli/hash.js.map +1 -0
  25. package/lib/cjs/cli/info.d.ts +7 -0
  26. package/lib/cjs/cli/info.d.ts.map +1 -0
  27. package/lib/cjs/cli/info.js +45 -0
  28. package/lib/cjs/cli/info.js.map +1 -0
  29. package/lib/cjs/cli/ls.d.ts +7 -0
  30. package/lib/cjs/cli/ls.d.ts.map +1 -0
  31. package/lib/cjs/cli/ls.js +40 -0
  32. package/lib/cjs/cli/ls.js.map +1 -0
  33. package/lib/cjs/cli/mkdir.d.ts +7 -0
  34. package/lib/cjs/cli/mkdir.d.ts.map +1 -0
  35. package/lib/cjs/cli/mkdir.js +39 -0
  36. package/lib/cjs/cli/mkdir.js.map +1 -0
  37. package/lib/cjs/cli/mv.d.ts +11 -0
  38. package/lib/cjs/cli/mv.d.ts.map +1 -0
  39. package/lib/cjs/cli/mv.js +41 -0
  40. package/lib/cjs/cli/mv.js.map +1 -0
  41. package/lib/cjs/cli/rm.d.ts +1 -6
  42. package/lib/cjs/cli/rm.d.ts.map +1 -1
  43. package/lib/cjs/cli/rm.js +14 -4
  44. package/lib/cjs/cli/rm.js.map +1 -1
  45. package/lib/cjs/cli/stat.d.ts +1 -5
  46. package/lib/cjs/cli/stat.d.ts.map +1 -1
  47. package/lib/cjs/cli/stat.js +20 -3
  48. package/lib/cjs/cli/stat.js.map +1 -1
  49. package/lib/cjs/cli/unzip.d.ts +11 -0
  50. package/lib/cjs/cli/unzip.d.ts.map +1 -0
  51. package/lib/cjs/cli/unzip.js +47 -0
  52. package/lib/cjs/cli/unzip.js.map +1 -0
  53. package/lib/cjs/cli/upload.d.ts +7 -0
  54. package/lib/cjs/cli/upload.d.ts.map +1 -0
  55. package/lib/cjs/cli/upload.js +40 -0
  56. package/lib/cjs/cli/upload.js.map +1 -0
  57. package/lib/cjs/cli/write.d.ts +13 -0
  58. package/lib/cjs/cli/write.d.ts.map +1 -0
  59. package/lib/cjs/cli/write.js +54 -0
  60. package/lib/cjs/cli/write.js.map +1 -0
  61. package/lib/cjs/cli/zip.d.ts +12 -0
  62. package/lib/cjs/cli/zip.d.ts.map +1 -0
  63. package/lib/cjs/cli/zip.js +51 -0
  64. package/lib/cjs/cli/zip.js.map +1 -0
  65. package/lib/cjs/config/fs.d.ts +9 -0
  66. package/lib/cjs/config/fs.d.ts.map +1 -0
  67. package/lib/cjs/config/fs.js +22 -0
  68. package/lib/cjs/config/fs.js.map +1 -0
  69. package/lib/cjs/file-hasher.d.ts +85 -5
  70. package/lib/cjs/file-hasher.d.ts.map +1 -1
  71. package/lib/cjs/file-hasher.js +106 -14
  72. package/lib/cjs/file-hasher.js.map +1 -1
  73. package/lib/cjs/file-info.d.ts +94 -5
  74. package/lib/cjs/file-info.d.ts.map +1 -1
  75. package/lib/cjs/file-info.js +267 -73
  76. package/lib/cjs/file-info.js.map +1 -1
  77. package/lib/cjs/fp.d.ts +80 -2
  78. package/lib/cjs/fp.d.ts.map +1 -1
  79. package/lib/cjs/fp.js +149 -3
  80. package/lib/cjs/fp.js.map +1 -1
  81. package/lib/cjs/index.d.ts +2 -1
  82. package/lib/cjs/index.d.ts.map +1 -1
  83. package/lib/cjs/index.js +7 -2
  84. package/lib/cjs/index.js.map +1 -1
  85. package/lib/cjs/interfaces.d.ts +89 -12
  86. package/lib/cjs/interfaces.d.ts.map +1 -1
  87. package/lib/cjs/interfaces.js +13 -13
  88. package/lib/cjs/interfaces.js.map +1 -1
  89. package/lib/cjs/local-provider.d.ts +51 -6
  90. package/lib/cjs/local-provider.d.ts.map +1 -1
  91. package/lib/cjs/local-provider.js +254 -76
  92. package/lib/cjs/local-provider.js.map +1 -1
  93. package/lib/cjs/temp-cleanup-strategy.d.ts +70 -0
  94. package/lib/cjs/temp-cleanup-strategy.d.ts.map +1 -0
  95. package/lib/cjs/temp-cleanup-strategy.js +157 -0
  96. package/lib/cjs/temp-cleanup-strategy.js.map +1 -0
  97. package/lib/cjs/temp-provider.d.ts +59 -0
  98. package/lib/cjs/temp-provider.d.ts.map +1 -0
  99. package/lib/cjs/temp-provider.js +150 -0
  100. package/lib/cjs/temp-provider.js.map +1 -0
  101. package/lib/mjs/cli/cat.d.ts +11 -0
  102. package/lib/mjs/cli/cat.d.ts.map +1 -0
  103. package/lib/mjs/cli/cat.js +37 -0
  104. package/lib/mjs/cli/cat.js.map +1 -0
  105. package/lib/mjs/cli/cp.d.ts +11 -0
  106. package/lib/mjs/cli/cp.d.ts.map +1 -0
  107. package/lib/mjs/cli/cp.js +38 -0
  108. package/lib/mjs/cli/cp.js.map +1 -0
  109. package/lib/mjs/cli/download.d.ts +7 -0
  110. package/lib/mjs/cli/download.d.ts.map +1 -0
  111. package/lib/mjs/cli/download.js +36 -0
  112. package/lib/mjs/cli/download.js.map +1 -0
  113. package/lib/mjs/cli/exists.d.ts +7 -0
  114. package/lib/mjs/cli/exists.d.ts.map +1 -0
  115. package/lib/mjs/cli/exists.js +36 -0
  116. package/lib/mjs/cli/exists.js.map +1 -0
  117. package/lib/mjs/cli/fs.d.ts +11 -1
  118. package/lib/mjs/cli/fs.d.ts.map +1 -1
  119. package/lib/mjs/cli/fs.js +43 -22
  120. package/lib/mjs/cli/fs.js.map +1 -1
  121. package/lib/mjs/cli/hash.d.ts +11 -0
  122. package/lib/mjs/cli/hash.d.ts.map +1 -0
  123. package/lib/mjs/cli/hash.js +37 -0
  124. package/lib/mjs/cli/hash.js.map +1 -0
  125. package/lib/mjs/cli/info.d.ts +7 -0
  126. package/lib/mjs/cli/info.d.ts.map +1 -0
  127. package/lib/mjs/cli/info.js +42 -0
  128. package/lib/mjs/cli/info.js.map +1 -0
  129. package/lib/mjs/cli/ls.d.ts +7 -0
  130. package/lib/mjs/cli/ls.d.ts.map +1 -0
  131. package/lib/mjs/cli/ls.js +37 -0
  132. package/lib/mjs/cli/ls.js.map +1 -0
  133. package/lib/mjs/cli/mkdir.d.ts +7 -0
  134. package/lib/mjs/cli/mkdir.d.ts.map +1 -0
  135. package/lib/mjs/cli/mkdir.js +36 -0
  136. package/lib/mjs/cli/mkdir.js.map +1 -0
  137. package/lib/mjs/cli/mv.d.ts +11 -0
  138. package/lib/mjs/cli/mv.d.ts.map +1 -0
  139. package/lib/mjs/cli/mv.js +38 -0
  140. package/lib/mjs/cli/mv.js.map +1 -0
  141. package/lib/mjs/cli/rm.d.ts +1 -6
  142. package/lib/mjs/cli/rm.d.ts.map +1 -1
  143. package/lib/mjs/cli/rm.js +15 -5
  144. package/lib/mjs/cli/rm.js.map +1 -1
  145. package/lib/mjs/cli/stat.d.ts +1 -5
  146. package/lib/mjs/cli/stat.d.ts.map +1 -1
  147. package/lib/mjs/cli/stat.js +21 -4
  148. package/lib/mjs/cli/stat.js.map +1 -1
  149. package/lib/mjs/cli/unzip.d.ts +11 -0
  150. package/lib/mjs/cli/unzip.d.ts.map +1 -0
  151. package/lib/mjs/cli/unzip.js +44 -0
  152. package/lib/mjs/cli/unzip.js.map +1 -0
  153. package/lib/mjs/cli/upload.d.ts +7 -0
  154. package/lib/mjs/cli/upload.d.ts.map +1 -0
  155. package/lib/mjs/cli/upload.js +37 -0
  156. package/lib/mjs/cli/upload.js.map +1 -0
  157. package/lib/mjs/cli/write.d.ts +13 -0
  158. package/lib/mjs/cli/write.d.ts.map +1 -0
  159. package/lib/mjs/cli/write.js +51 -0
  160. package/lib/mjs/cli/write.js.map +1 -0
  161. package/lib/mjs/cli/zip.d.ts +12 -0
  162. package/lib/mjs/cli/zip.d.ts.map +1 -0
  163. package/lib/mjs/cli/zip.js +48 -0
  164. package/lib/mjs/cli/zip.js.map +1 -0
  165. package/lib/mjs/config/fs.d.ts +9 -0
  166. package/lib/mjs/config/fs.d.ts.map +1 -0
  167. package/lib/mjs/config/fs.js +20 -0
  168. package/lib/mjs/config/fs.js.map +1 -0
  169. package/lib/mjs/file-hasher.d.ts +85 -5
  170. package/lib/mjs/file-hasher.d.ts.map +1 -1
  171. package/lib/mjs/file-hasher.js +106 -14
  172. package/lib/mjs/file-hasher.js.map +1 -1
  173. package/lib/mjs/file-info.d.ts +94 -5
  174. package/lib/mjs/file-info.d.ts.map +1 -1
  175. package/lib/mjs/file-info.js +233 -73
  176. package/lib/mjs/file-info.js.map +1 -1
  177. package/lib/mjs/fp.d.ts +80 -2
  178. package/lib/mjs/fp.d.ts.map +1 -1
  179. package/lib/mjs/fp.js +135 -4
  180. package/lib/mjs/fp.js.map +1 -1
  181. package/lib/mjs/index.d.ts +2 -1
  182. package/lib/mjs/index.d.ts.map +1 -1
  183. package/lib/mjs/index.js +8 -3
  184. package/lib/mjs/index.js.map +1 -1
  185. package/lib/mjs/interfaces.d.ts +89 -12
  186. package/lib/mjs/interfaces.d.ts.map +1 -1
  187. package/lib/mjs/interfaces.js +13 -13
  188. package/lib/mjs/interfaces.js.map +1 -1
  189. package/lib/mjs/local-provider.d.ts +51 -6
  190. package/lib/mjs/local-provider.d.ts.map +1 -1
  191. package/lib/mjs/local-provider.js +257 -79
  192. package/lib/mjs/local-provider.js.map +1 -1
  193. package/lib/mjs/temp-cleanup-strategy.d.ts +70 -0
  194. package/lib/mjs/temp-cleanup-strategy.d.ts.map +1 -0
  195. package/lib/mjs/temp-cleanup-strategy.js +153 -0
  196. package/lib/mjs/temp-cleanup-strategy.js.map +1 -0
  197. package/lib/mjs/temp-provider.d.ts +59 -0
  198. package/lib/mjs/temp-provider.d.ts.map +1 -0
  199. package/lib/mjs/temp-provider.js +147 -0
  200. package/lib/mjs/temp-provider.js.map +1 -0
  201. package/lib/tsconfig.cjs.tsbuildinfo +1 -1
  202. package/lib/tsconfig.mjs.tsbuildinfo +1 -1
  203. package/package.json +11 -6
  204. package/lib/cjs/local-temp-provider.d.ts +0 -18
  205. package/lib/cjs/local-temp-provider.d.ts.map +0 -1
  206. package/lib/cjs/local-temp-provider.js +0 -63
  207. package/lib/cjs/local-temp-provider.js.map +0 -1
  208. package/lib/mjs/local-temp-provider.d.ts +0 -18
  209. package/lib/mjs/local-temp-provider.d.ts.map +0 -1
  210. package/lib/mjs/local-temp-provider.js +0 -60
  211. package/lib/mjs/local-temp-provider.js.map +0 -1
package/lib/cjs/fp.js CHANGED
@@ -39,14 +39,49 @@ exports._unzip = _unzip;
39
39
  exports._fileInfo = _fileInfo;
40
40
  exports._file_hash = _file_hash;
41
41
  exports._exists = _exists;
42
+ exports._read = _read;
43
+ exports._write = _write;
44
+ exports._append = _append;
45
+ exports._copy = _copy;
46
+ exports._move = _move;
47
+ exports._rename = _rename;
48
+ exports._rm = _rm;
49
+ exports._mkdir = _mkdir;
50
+ exports._list = _list;
51
+ exports._stat = _stat;
52
+ exports._dir_exists = _dir_exists;
53
+ exports._is_dir = _is_dir;
54
+ exports._download = _download;
55
+ exports._upload = _upload;
56
+ exports._hash = _hash;
42
57
  exports._is_of_type = _is_of_type;
43
58
  exports._is_of_mimetype = _is_of_mimetype;
44
59
  exports._read_file = _read_file;
45
60
  const di_1 = require("@spinajs/di");
61
+ const configuration_1 = require("@spinajs/configuration");
46
62
  const interfaces_js_1 = require("./interfaces.js");
47
63
  const util_1 = require("@spinajs/util");
48
64
  const fs_1 = require("fs");
49
65
  const exceptions_1 = require("@spinajs/exceptions");
66
+ /**
67
+ * Resolves a filesystem provider by name / instance, or falls back to the
68
+ * configured default provider ( fs.defaultProvider ) when none is given.
69
+ *
70
+ * @param fileSystem provider name, provider instance, or undefined for the default
71
+ */
72
+ function _provider(fileSystem) {
73
+ return () => {
74
+ const name = fileSystem ?? di_1.DI.get(configuration_1.Configuration)?.get('fs.defaultProvider');
75
+ if (!name) {
76
+ throw new exceptions_1.IOFail(`No filesystem provided and no fs.defaultProvider configured`);
77
+ }
78
+ const f = _fs(name)();
79
+ if (!f) {
80
+ throw new exceptions_1.IOFail(`Filesystem ${typeof name === 'string' ? name : name.Name} not found`);
81
+ }
82
+ return f;
83
+ };
84
+ }
50
85
  /**
51
86
  * Gets filesystem by its name
52
87
  *
@@ -71,12 +106,12 @@ function _fs(fileSystem) {
71
106
  * @returns absolute path to zipped file
72
107
  */
73
108
  function _zip(srcPath, dstName, srcFs) {
74
- return (0, util_1._chain)((0, util_1._use)(_fs(srcFs), 'zipFS'), ({ zipFS }) => {
109
+ return (0, util_1._chain)((0, util_1._use)(_fs(srcFs ?? 'fs-temp'), 'zipFS'), ({ zipFS }) => {
75
110
  return zipFS.zip(srcPath, zipFS, dstName);
76
111
  });
77
112
  }
78
113
  function _unzip(srcPath, dstName, srcFs) {
79
- return (0, util_1._chain)((0, util_1._use)(_fs(srcFs), 'zipFS'), ({ zipFS }) => {
114
+ return (0, util_1._chain)((0, util_1._use)(_fs(srcFs ?? 'fs-temp'), 'zipFS'), ({ zipFS }) => {
80
115
  return zipFS.unzip(srcPath, dstName, zipFS);
81
116
  });
82
117
  }
@@ -102,14 +137,125 @@ function _file_hash(path) {
102
137
  return hash.hash(path);
103
138
  });
104
139
  }
105
- function _exists(path) {
140
+ /**
141
+ * Checks if a path exists.
142
+ *
143
+ * Without a filesystem, checks an absolute local path directly. With a filesystem
144
+ * ( name or instance ), delegates to that provider ( path relative to its base ).
145
+ *
146
+ * @param path path to check
147
+ * @param fileSystem optional provider name / instance
148
+ */
149
+ function _exists(path, fileSystem) {
106
150
  const p = (0, util_1._check_arg)((0, util_1._is_string)(), (0, util_1._trim)(), (0, util_1._non_empty)())(path, 'path');
151
+ if (fileSystem !== undefined) {
152
+ return async () => _provider(fileSystem)().exists(p);
153
+ }
107
154
  return async () => (new Promise((resolve) => {
108
155
  (0, fs_1.access)(p, fs_1.constants.F_OK, (error) => {
109
156
  resolve(!error);
110
157
  });
111
158
  }));
112
159
  }
160
+ /**
161
+ * Reads whole file content through a filesystem provider.
162
+ *
163
+ * @param path path relative to provider base
164
+ * @param encoding optional encoding ( raw Buffer when omitted )
165
+ * @param fileSystem provider name / instance, or default provider
166
+ */
167
+ function _read(path, encoding, fileSystem) {
168
+ return (0, util_1._chain)((0, util_1._use)(_provider(fileSystem), 'f'), ({ f }) => f.read(path, encoding));
169
+ }
170
+ /**
171
+ * Writes data to a file through a filesystem provider.
172
+ */
173
+ function _write(path, data, encoding, fileSystem) {
174
+ return (0, util_1._chain)((0, util_1._use)(_provider(fileSystem), 'f'), ({ f }) => f.write(path, data, encoding));
175
+ }
176
+ /**
177
+ * Appends data to a file through a filesystem provider.
178
+ */
179
+ function _append(path, data, encoding, fileSystem) {
180
+ return (0, util_1._chain)((0, util_1._use)(_provider(fileSystem), 'f'), ({ f }) => f.append(path, data, encoding));
181
+ }
182
+ /**
183
+ * Copies a file / dir, optionally into another filesystem.
184
+ *
185
+ * @param src source path ( relative to srcFs )
186
+ * @param dst destination path
187
+ * @param srcFs source provider name / instance ( default provider when omitted )
188
+ * @param dstFs optional destination provider - copy within srcFs when omitted
189
+ */
190
+ function _copy(src, dst, srcFs, dstFs) {
191
+ return (0, util_1._chain)((0, util_1._use)(_provider(srcFs), 'f'), ({ f }) => f.copy(src, dst, dstFs ? _provider(dstFs)() : undefined));
192
+ }
193
+ /**
194
+ * Moves a file / dir, optionally into another filesystem.
195
+ */
196
+ function _move(src, dst, srcFs, dstFs) {
197
+ return (0, util_1._chain)((0, util_1._use)(_provider(srcFs), 'f'), ({ f }) => f.move(src, dst, dstFs ? _provider(dstFs)() : undefined));
198
+ }
199
+ /**
200
+ * Renames a file within a single filesystem.
201
+ */
202
+ function _rename(oldPath, newPath, fileSystem) {
203
+ return (0, util_1._chain)((0, util_1._use)(_provider(fileSystem), 'f'), ({ f }) => f.rename(oldPath, newPath));
204
+ }
205
+ /**
206
+ * Removes a file or a directory ( recursively ).
207
+ */
208
+ function _rm(path, fileSystem) {
209
+ return (0, util_1._chain)((0, util_1._use)(_provider(fileSystem), 'f'), ({ f }) => f.rm(path));
210
+ }
211
+ /**
212
+ * Creates a directory ( recursively ).
213
+ */
214
+ function _mkdir(path, fileSystem) {
215
+ return (0, util_1._chain)((0, util_1._use)(_provider(fileSystem), 'f'), ({ f }) => f.mkdir(path));
216
+ }
217
+ /**
218
+ * Lists directory content.
219
+ */
220
+ function _list(path, fileSystem) {
221
+ return (0, util_1._chain)((0, util_1._use)(_provider(fileSystem), 'f'), ({ f }) => f.list(path));
222
+ }
223
+ /**
224
+ * Returns file / dir statistics.
225
+ */
226
+ function _stat(path, fileSystem) {
227
+ return (0, util_1._chain)((0, util_1._use)(_provider(fileSystem), 'f'), ({ f }) => f.stat(path));
228
+ }
229
+ /**
230
+ * Checks if a path is an existing directory.
231
+ */
232
+ function _dir_exists(path, fileSystem) {
233
+ return (0, util_1._chain)((0, util_1._use)(_provider(fileSystem), 'f'), ({ f }) => f.dirExists(path));
234
+ }
235
+ /**
236
+ * Checks if a path is a directory.
237
+ */
238
+ function _is_dir(path, fileSystem) {
239
+ return (0, util_1._chain)((0, util_1._use)(_provider(fileSystem), 'f'), ({ f }) => f.isDir(path));
240
+ }
241
+ /**
242
+ * Downloads a file to local storage and returns the local path.
243
+ */
244
+ function _download(path, fileSystem) {
245
+ return (0, util_1._chain)((0, util_1._use)(_provider(fileSystem), 'f'), ({ f }) => f.download(path));
246
+ }
247
+ /**
248
+ * Uploads a local file into a filesystem provider.
249
+ */
250
+ function _upload(srcPath, dstPath, fileSystem) {
251
+ return (0, util_1._chain)((0, util_1._use)(_provider(fileSystem), 'f'), ({ f }) => f.upload(srcPath, dstPath));
252
+ }
253
+ /**
254
+ * Hashes a file through a filesystem provider.
255
+ */
256
+ function _hash(path, algo, fileSystem) {
257
+ return (0, util_1._chain)((0, util_1._use)(_provider(fileSystem), 'f'), ({ f }) => f.hash(path, algo));
258
+ }
113
259
  function _is_of_type(path, extension) {
114
260
  return async () => {
115
261
  const { fileTypeFromFile } = await Promise.resolve().then(() => __importStar(require('file-type')));
package/lib/cjs/fp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"fp.js","sourceRoot":"","sources":["../../src/fp.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,kBAUC;AAUD,oBAIC;AAED,wBAIC;AASD,8BAIC;AAOD,gCAIC;AAED,0BAQC;AAED,kCAQC;AAED,0CAQC;AAED,gCAmBC;AAtHD,oCAAuC;AACvC,mDAA6E;AAC7E,wCAAwF;AACxF,2BAAiD;AAEjD,oDAA6C;AAE7C;;;;;GAKG;AACH,SAAgB,GAAG,CAAC,UAAuB;IACzC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC;IACzB,CAAC;IAED,IAAI,UAAU,YAAY,kBAAE,EAAE,CAAC;QAC7B,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC;IAC1B,CAAC;IAED,OAAO,IAAA,aAAQ,EAAC,mBAAmB,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AACrD,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,IAAI,CAAC,OAAiB,EAAE,OAAe,EAAE,KAAmB;IAC1E,OAAO,IAAA,aAAM,EAAC,IAAA,WAAI,EAAC,GAAG,CAAC,KAAM,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,KAAK,EAAiB,EAAE,EAAE;QACrE,OAAO,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,MAAM,CAAC,OAAe,EAAE,OAAe,EAAE,KAAmB;IAC1E,OAAO,IAAA,aAAM,EAAC,IAAA,WAAI,EAAC,GAAG,CAAC,KAAM,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,KAAK,EAAiB,EAAE,EAAE;QACrE,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,SAAS,CAAC,IAAY;IACpC,OAAO,IAAA,aAAM,EAAC,IAAA,WAAI,EAAC,IAAA,aAAQ,EAAC,+BAAe,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAiC,EAAE,EAAE;QACzG,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,SAAgB,UAAU,CAAC,IAAY;IACrC,OAAO,IAAA,aAAM,EAAC,IAAA,WAAI,EAAC,IAAA,aAAQ,EAAC,0BAAU,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,EAAwB,EAAE,EAAE;QACnF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,OAAO,CAAC,IAAY;IAClC,MAAM,CAAC,GAAG,IAAA,iBAAU,EAAC,IAAA,iBAAU,GAAE,EAAE,IAAA,YAAK,GAAE,EAAE,IAAA,iBAAU,GAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAExE,OAAO,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;QACnD,IAAA,WAAM,EAAC,CAAC,EAAE,cAAS,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;YAClC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAgB,WAAW,CAAC,IAAY,EAAE,SAAiB;IACzD,OAAO,KAAK,IAAI,EAAE;QAChB,MAAM,EAAE,gBAAgB,EAAE,GAAG,wDAAa,WAAW,GAAC,CAAC;QACvD,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,IAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,mBAAM,CAAC,QAAQ,IAAI,uCAAuC,SAAS,uBAAuB,IAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QACnH,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAED,SAAgB,eAAe,CAAC,IAAY,EAAE,QAAgB;IAC5D,OAAO,KAAK,IAAI,EAAE;QAChB,MAAM,EAAE,gBAAgB,EAAE,GAAG,wDAAa,WAAW,GAAC,CAAC;QACvD,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,IAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,IAAI,mBAAM,CAAC,QAAQ,IAAI,uCAAuC,QAAQ,uBAAuB,IAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACnH,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAED,SAAgB,UAAU,CAAC,IAAY,EAAE,OAMjC;IAEN,OAAO,GAAG,EAAE,CAAC,IAAA,aAAM,EAAS,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE;QACpD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAA,aAAQ,EAAC,IAAI,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;gBAC9C,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,CAAC,KAAK,CAAC,CAAC;oBACd,OAAO;gBACT,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,CAAA;YACf,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"fp.js","sourceRoot":"","sources":["../../src/fp.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,kBAUC;AAUD,oBAIC;AAED,wBAIC;AASD,8BAIC;AAOD,gCAIC;AAWD,0BAYC;AASD,sBAEC;AAKD,wBAEC;AAKD,0BAEC;AAUD,sBAEC;AAKD,sBAEC;AAKD,0BAEC;AAKD,kBAEC;AAKD,wBAEC;AAKD,sBAEC;AAKD,sBAEC;AAKD,kCAEC;AAKD,0BAEC;AAKD,8BAEC;AAKD,0BAEC;AAKD,sBAEC;AAED,kCAQC;AAED,0CAQC;AAED,gCAmBC;AA9QD,oCAA2C;AAC3C,0DAAuD;AACvD,mDAAoF;AACpF,wCAAwF;AACxF,2BAAiD;AAEjD,oDAA6C;AAE7C;;;;;GAKG;AACH,SAAS,SAAS,CAAC,UAAwB;IACzC,OAAO,GAAG,EAAE;QACV,MAAM,IAAI,GAAG,UAAU,IAAI,OAAE,CAAC,GAAG,CAAgB,6BAAa,CAAC,EAAE,GAAG,CAAS,oBAAoB,CAAC,CAAC;QAEnG,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,mBAAM,CAAC,6DAA6D,CAAC,CAAC;QAClF,CAAC;QAED,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAEtB,IAAI,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,IAAI,mBAAM,CAAC,cAAc,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,CAAC;QAC1F,CAAC;QAED,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,GAAG,CAAC,UAAuB;IACzC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC;IACzB,CAAC;IAED,IAAI,UAAU,YAAY,kBAAE,EAAE,CAAC;QAC7B,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC;IAC1B,CAAC;IAED,OAAO,IAAA,aAAQ,EAAC,mBAAmB,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AACrD,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,IAAI,CAAC,OAAiB,EAAE,OAAe,EAAE,KAAmB;IAC1E,OAAO,IAAA,aAAM,EAAC,IAAA,WAAI,EAAC,GAAG,CAAC,KAAK,IAAI,SAAS,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,KAAK,EAAiB,EAAE,EAAE;QACjF,OAAO,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,MAAM,CAAC,OAAe,EAAE,OAAe,EAAE,KAAmB;IAC1E,OAAO,IAAA,aAAM,EAAC,IAAA,WAAI,EAAC,GAAG,CAAC,KAAK,IAAI,SAAS,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,KAAK,EAAiB,EAAE,EAAE;QACjF,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,SAAS,CAAC,IAAY;IACpC,OAAO,IAAA,aAAM,EAAC,IAAA,WAAI,EAAC,IAAA,aAAQ,EAAC,+BAAe,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAiC,EAAE,EAAE;QACzG,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,SAAgB,UAAU,CAAC,IAAY;IACrC,OAAO,IAAA,aAAM,EAAC,IAAA,WAAI,EAAC,IAAA,aAAQ,EAAC,0BAAU,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,IAAI,EAAwB,EAAE,EAAE;QACnF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,OAAO,CAAC,IAAY,EAAE,UAAwB;IAC5D,MAAM,CAAC,GAAG,IAAA,iBAAU,EAAC,IAAA,iBAAU,GAAE,EAAE,IAAA,YAAK,GAAE,EAAE,IAAA,iBAAU,GAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAExE,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;QACnD,IAAA,WAAM,EAAC,CAAC,EAAE,cAAS,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;YAClC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,KAAK,CAAC,IAAY,EAAE,QAAyB,EAAE,UAAwB;IACrF,OAAO,IAAA,aAAM,EAAC,IAAA,WAAI,EAAC,SAAS,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAa,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;AAChG,CAAC;AAED;;GAEG;AACH,SAAgB,MAAM,CAAC,IAAY,EAAE,IAAyB,EAAE,QAAyB,EAAE,UAAwB;IACjH,OAAO,IAAA,aAAM,EAAC,IAAA,WAAI,EAAC,SAAS,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAa,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;AACvG,CAAC;AAED;;GAEG;AACH,SAAgB,OAAO,CAAC,IAAY,EAAE,IAAyB,EAAE,QAAyB,EAAE,UAAwB;IAClH,OAAO,IAAA,aAAM,EAAC,IAAA,WAAI,EAAC,SAAS,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAa,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;AACxG,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,KAAK,CAAC,GAAW,EAAE,GAAW,EAAE,KAAmB,EAAE,KAAmB;IACtF,OAAO,IAAA,aAAM,EAAC,IAAA,WAAI,EAAC,SAAS,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAa,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AAC7H,CAAC;AAED;;GAEG;AACH,SAAgB,KAAK,CAAC,GAAW,EAAE,GAAW,EAAE,KAAmB,EAAE,KAAmB;IACtF,OAAO,IAAA,aAAM,EAAC,IAAA,WAAI,EAAC,SAAS,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAa,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AAC7H,CAAC;AAED;;GAEG;AACH,SAAgB,OAAO,CAAC,OAAe,EAAE,OAAe,EAAE,UAAwB;IAChF,OAAO,IAAA,aAAM,EAAC,IAAA,WAAI,EAAC,SAAS,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAa,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AACpG,CAAC;AAED;;GAEG;AACH,SAAgB,GAAG,CAAC,IAAY,EAAE,UAAwB;IACxD,OAAO,IAAA,aAAM,EAAC,IAAA,WAAI,EAAC,SAAS,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAa,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AACpF,CAAC;AAED;;GAEG;AACH,SAAgB,MAAM,CAAC,IAAY,EAAE,UAAwB;IAC3D,OAAO,IAAA,aAAM,EAAC,IAAA,WAAI,EAAC,SAAS,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAa,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AACvF,CAAC;AAED;;GAEG;AACH,SAAgB,KAAK,CAAC,IAAY,EAAE,UAAwB;IAC1D,OAAO,IAAA,aAAM,EAAC,IAAA,WAAI,EAAC,SAAS,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAa,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACtF,CAAC;AAED;;GAEG;AACH,SAAgB,KAAK,CAAC,IAAY,EAAE,UAAwB;IAC1D,OAAO,IAAA,aAAM,EAAC,IAAA,WAAI,EAAC,SAAS,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAa,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACtF,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,IAAY,EAAE,UAAwB;IAChE,OAAO,IAAA,aAAM,EAAC,IAAA,WAAI,EAAC,SAAS,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAa,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3F,CAAC;AAED;;GAEG;AACH,SAAgB,OAAO,CAAC,IAAY,EAAE,UAAwB;IAC5D,OAAO,IAAA,aAAM,EAAC,IAAA,WAAI,EAAC,SAAS,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAa,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AACvF,CAAC;AAED;;GAEG;AACH,SAAgB,SAAS,CAAC,IAAY,EAAE,UAAwB;IAC9D,OAAO,IAAA,aAAM,EAAC,IAAA,WAAI,EAAC,SAAS,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAa,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1F,CAAC;AAED;;GAEG;AACH,SAAgB,OAAO,CAAC,OAAe,EAAE,OAAgB,EAAE,UAAwB;IACjF,OAAO,IAAA,aAAM,EAAC,IAAA,WAAI,EAAC,SAAS,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAa,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AACpG,CAAC;AAED;;GAEG;AACH,SAAgB,KAAK,CAAC,IAAY,EAAE,IAAa,EAAE,UAAwB;IACzE,OAAO,IAAA,aAAM,EAAC,IAAA,WAAI,EAAC,SAAS,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAa,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAC5F,CAAC;AAED,SAAgB,WAAW,CAAC,IAAY,EAAE,SAAiB;IACzD,OAAO,KAAK,IAAI,EAAE;QAChB,MAAM,EAAE,gBAAgB,EAAE,GAAG,wDAAa,WAAW,GAAC,CAAC;QACvD,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,IAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,mBAAM,CAAC,QAAQ,IAAI,uCAAuC,SAAS,uBAAuB,IAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QACnH,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAED,SAAgB,eAAe,CAAC,IAAY,EAAE,QAAgB;IAC5D,OAAO,KAAK,IAAI,EAAE;QAChB,MAAM,EAAE,gBAAgB,EAAE,GAAG,wDAAa,WAAW,GAAC,CAAC;QACvD,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,IAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,IAAI,mBAAM,CAAC,QAAQ,IAAI,uCAAuC,QAAQ,uBAAuB,IAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACnH,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAED,SAAgB,UAAU,CAAC,IAAY,EAAE,OAMjC;IAEN,OAAO,GAAG,EAAE,CAAC,IAAA,aAAM,EAAS,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE;QACpD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAA,aAAQ,EAAC,IAAI,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;gBAC9C,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,CAAC,KAAK,CAAC,CAAC;oBACd,OAAO;gBACT,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,CAAA;YACf,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC"}
@@ -4,7 +4,8 @@ import { IFsConfiguration } from './interfaces.js';
4
4
  import { Log } from '@spinajs/log-common';
5
5
  export * from './interfaces.js';
6
6
  export * from './local-provider.js';
7
- export * from './local-temp-provider.js';
7
+ export * from './temp-provider.js';
8
+ export * from './temp-cleanup-strategy.js';
8
9
  export * from './decorators.js';
9
10
  export * from './file-hasher.js';
10
11
  export * from './file-info.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAoB,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAc,YAAY,EAAkB,MAAM,aAAa,CAAC;AACvE,OAAO,EAAM,gBAAgB,EAA0B,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAAE,GAAG,EAAU,MAAM,qBAAqB,CAAC;AAElD,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AAExB,qBAAa,SAAU,SAAQ,YAAY;IAEzC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC;IAGtB,SAAS,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAEtB,OAAO;CAmCrB;AAED,qBACa,aAAc,SAAQ,YAAY;IACtC,SAAS;CAiBjB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAwC,MAAM,aAAa,CAAC;AACjF,OAAO,EAAc,YAAY,EAAkB,MAAM,aAAa,CAAC;AACvE,OAAO,EAAM,gBAAgB,EAA0B,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAAE,GAAG,EAAU,MAAM,qBAAqB,CAAC;AAElD,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AAExB,qBAAa,SAAU,SAAQ,YAAY;IAEzC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC;IAGtB,SAAS,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAEtB,OAAO;CA6CrB;AAED,qBACa,aAAc,SAAQ,YAAY;IACtC,SAAS;CAiBjB"}
package/lib/cjs/index.js CHANGED
@@ -31,7 +31,8 @@ const interfaces_js_1 = require("./interfaces.js");
31
31
  const log_common_1 = require("@spinajs/log-common");
32
32
  __exportStar(require("./interfaces.js"), exports);
33
33
  __exportStar(require("./local-provider.js"), exports);
34
- __exportStar(require("./local-temp-provider.js"), exports);
34
+ __exportStar(require("./temp-provider.js"), exports);
35
+ __exportStar(require("./temp-cleanup-strategy.js"), exports);
35
36
  __exportStar(require("./decorators.js"), exports);
36
37
  __exportStar(require("./file-hasher.js"), exports);
37
38
  __exportStar(require("./file-info.js"), exports);
@@ -51,7 +52,11 @@ class fsService extends di_1.AsyncService {
51
52
  providers.set(x.name, x);
52
53
  });
53
54
  const rProviders = di_2.DI.RootContainer.Registry.getTypes(interfaces_js_1.fs);
54
- const list = Array.from(providers, ([name, value]) => ({ name, value }));
55
+ // order provider creation so that providers referencing other providers
56
+ // ( eg. fsTemp backend via `provider` option ) are created after their dependency,
57
+ // regardless of config order. Fails fast on missing / self / circular reference.
58
+ const ordered = (0, di_1.sortByDependencies)(Array.from(providers.values()), (p) => p.name, (p) => p.provider);
59
+ const list = ordered.map((value) => ({ name: value.name, value }));
55
60
  for (const cProvider of list) {
56
61
  const type = rProviders.find((x) => x.name === cProvider.value.service);
57
62
  if (!type) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { AsyncService, IInstanceCheck, IMappableService } from '@spinajs/di';
2
2
  import { ReadStream, WriteStream } from 'fs';
3
3
  import { DateTime } from 'luxon';
4
4
  import { PassThrough } from 'stream';
5
+ import type { BinaryToTextEncoding } from 'node:crypto';
5
6
  /**
6
7
  * Class for handling fs URI eg. fs://fs-temp/path/to/file
7
8
  */
@@ -13,6 +14,11 @@ export declare class URI {
13
14
  export interface IProviderConfiguration {
14
15
  name: string;
15
16
  service: string;
17
+ /**
18
+ * Name of another configured fs provider this one depends on ( eg. fsTemp backend ).
19
+ * fsService creates referenced providers first, regardless of config order.
20
+ */
21
+ provider?: string;
16
22
  }
17
23
  export interface IFsConfiguration {
18
24
  defaultProvider: string;
@@ -25,6 +31,12 @@ export interface IStat {
25
31
  AccessTime?: DateTime;
26
32
  ModifiedTime?: DateTime;
27
33
  CreationTime?: DateTime;
34
+ /**
35
+ * Opaque, provider-supplied token that changes when the file content changes.
36
+ * Consumers must treat it as meaningless except for equality comparison.
37
+ * Providers that cannot supply one leave it undefined.
38
+ */
39
+ Version?: string;
28
40
  AdditionalData?: unknown;
29
41
  }
30
42
  export interface IFileInfo {
@@ -37,6 +49,10 @@ export interface IFileInfo {
37
49
  Duration?: number;
38
50
  FrameCount?: number;
39
51
  FrameRate?: number;
52
+ /**
53
+ * Number of audio channels ( eg. 2 for stereo )
54
+ */
55
+ AudioChannels?: number;
40
56
  Bitrate?: number;
41
57
  Codec?: string;
42
58
  LineCount?: number;
@@ -50,6 +66,12 @@ export interface IFileInfo {
50
66
  * Raw unprocessed data obtained from file info
51
67
  */
52
68
  Raw?: {};
69
+ /**
70
+ * All other extracted tags are promoted here generically ( PascalCased tag
71
+ * name -> value ). The well-known fields above are typed aliases over the
72
+ * same data; everything the analyzer emits is also available in {@link Raw}.
73
+ */
74
+ [key: string]: unknown;
53
75
  }
54
76
  export interface IFsLocalOptions {
55
77
  /**
@@ -64,21 +86,44 @@ export interface IFsLocalOptions {
64
86
  */
65
87
  name: string;
66
88
  }
67
- export interface IFsLocalTempOptions extends IFsLocalOptions {
89
+ export interface ITempOptions {
68
90
  /**
69
91
  * Should cleanup of old temp files be enabled
70
92
  */
71
- cleanup: boolean;
93
+ cleanup?: boolean;
72
94
  /**
73
- * Cleanup interval in seconds
95
+ * Cleanup interval in milliseconds, used by interval-based cleanup strategies.
74
96
  * Default is 10 minutes
75
97
  */
76
- cleanupInterval: number;
98
+ cleanupInterval?: number;
77
99
  /**
78
- * Max temp file age in seconds. Older thant this will be deleted.
100
+ * Max temp file age in seconds. Older than this will be deleted.
79
101
  * Default is 1 hour
80
102
  */
81
- maxFileAge: number;
103
+ maxFileAge?: number;
104
+ /**
105
+ * Class name of TempCleanupStrategy implementation to use.
106
+ * Default is MaxAgeTempCleanupStrategy
107
+ */
108
+ cleanupStrategy?: string;
109
+ /**
110
+ * Cron expression used by CronTempCleanupStrategy ( 6-field with seconds supported,
111
+ * eg. '0 0 * * * *' = hourly ). Required when that strategy is selected.
112
+ * Ignored by interval-based strategies.
113
+ */
114
+ cleanupCronExpression?: string;
115
+ }
116
+ export interface IFsTempOptions extends ITempOptions {
117
+ /**
118
+ * Instance name of this filesystem. Used to share fs instances.
119
+ */
120
+ name: string;
121
+ /**
122
+ * Name of registered fs provider used as temp file storage.
123
+ * Any configured fs can serve as backend ( local, s3, ftp, ... ).
124
+ * Creation fails if provider with this name is not registered.
125
+ */
126
+ provider: string;
82
127
  }
83
128
  export interface IZipResult {
84
129
  /**
@@ -86,7 +131,7 @@ export interface IZipResult {
86
131
  */
87
132
  fs: fs;
88
133
  asFilePath(): string;
89
- asStream(): ReadStream;
134
+ asStream(encoding?: BufferEncoding): ReadStream;
90
135
  asBase64(): string;
91
136
  unlink(): void;
92
137
  }
@@ -143,7 +188,7 @@ export declare abstract class fs extends AsyncService implements IMappableServic
143
188
  abstract mkdir(path: string): Promise<void>;
144
189
  abstract stat(path: string): Promise<IStat>;
145
190
  abstract list(path: string): Promise<string[]>;
146
- abstract tmppath(): string;
191
+ abstract tmppath(ext?: string): string;
147
192
  abstract append(path: string, data: string | Uint8Array, encoding?: BufferEncoding): Promise<void>;
148
193
  /**
149
194
  *
@@ -170,7 +215,7 @@ export declare abstract class fs extends AsyncService implements IMappableServic
170
215
  * @param path path to check
171
216
  */
172
217
  abstract isDir(path: string): Promise<boolean>;
173
- tmpname(): string;
218
+ tmpname(ext?: string): string;
174
219
  /**
175
220
  * -------------------------------------------------------------------------
176
221
  *
@@ -226,7 +271,7 @@ export declare abstract class fs extends AsyncService implements IMappableServic
226
271
  static mkdir(path: URI): Promise<void>;
227
272
  static stat(path: URI): Promise<IStat>;
228
273
  static list(path: URI): Promise<string[]>;
229
- static tmppath(fs: string): string;
274
+ static tmppath(fs: string, ext?: string): string;
230
275
  static append(path: URI, data: string | Uint8Array, encoding?: BufferEncoding): Promise<void>;
231
276
  /**
232
277
  *
@@ -259,12 +304,44 @@ export declare abstract class fs extends AsyncService implements IMappableServic
259
304
  * Eg. movie resolution, image, codec etc. if possible
260
305
  */
261
306
  export declare abstract class FileInfoService {
307
+ /**
308
+ * Extracts file information from a file on disk.
309
+ *
310
+ * @param pathToFile absolute path to the file
311
+ */
262
312
  abstract getInfo(pathToFile: string): Promise<IFileInfo>;
313
+ /**
314
+ * Extracts file information from a readable stream ( content is fed to the
315
+ * analyzer via stdin, so no temporary file is needed ).
316
+ *
317
+ * @param stream readable stream with the file content
318
+ */
319
+ abstract getInfoFromStream(stream: NodeJS.ReadableStream): Promise<IFileInfo>;
263
320
  }
264
321
  /**
265
- * File hasher, to create unique hash for file
322
+ * File hasher, to create unique hash for a file, raw data or a stream.
266
323
  */
267
324
  export declare abstract class FileHasher {
268
- abstract hash(pathToFile: string): Promise<string>;
325
+ /**
326
+ * Hashes the content of a file.
327
+ *
328
+ * @param pathToFile absolute path to the file
329
+ * @param encoding digest output encoding ( default 'hex' )
330
+ */
331
+ abstract hash(pathToFile: string, encoding?: BinaryToTextEncoding): Promise<string>;
332
+ /**
333
+ * Hashes raw in-memory data.
334
+ *
335
+ * @param data string or Buffer to hash
336
+ * @param encoding digest output encoding ( default 'hex' )
337
+ */
338
+ abstract hashData(data: string | Uint8Array, encoding?: BinaryToTextEncoding): Promise<string>;
339
+ /**
340
+ * Hashes the content of a readable stream.
341
+ *
342
+ * @param stream readable stream to consume
343
+ * @param encoding digest output encoding ( default 'hex' )
344
+ */
345
+ abstract hashStream(stream: NodeJS.ReadableStream, encoding?: BinaryToTextEncoding): Promise<string>;
269
346
  }
270
347
  //# sourceMappingURL=interfaces.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
@@ -10,17 +10,17 @@ const uuid_1 = require("uuid");
10
10
  */
11
11
  class URI {
12
12
  constructor(uri) {
13
- const reg = /^(fs+:\/\/)+(.+)$/;
14
- if (!reg.test(uri)) {
15
- throw new exceptions_1.InvalidArgument(`URI ${uri} is not valid`);
16
- }
13
+ // strict scheme - previous pattern /(fs+:\/\/)+/ accepted eg. fsss:// and fs://fs://
14
+ const reg = /^fs:\/\/(.+)$/;
17
15
  const e = reg.exec(uri);
18
- if (!e || e.length < 3) {
16
+ if (!e) {
19
17
  throw new exceptions_1.InvalidArgument(`URI ${uri} is not valid`);
20
18
  }
21
- const match = e[2];
22
- const fsName = match.substring(0, match.indexOf('/'));
23
- this.Path = match.substring(match.indexOf('/') + 1);
19
+ const match = e[1];
20
+ const slash = match.indexOf('/');
21
+ // fs://name ( no path ) -> whole match is the fs name, path is empty
22
+ const fsName = slash === -1 ? match : match.substring(0, slash);
23
+ this.Path = slash === -1 ? '' : match.substring(slash + 1);
24
24
  this.Fs = di_1.DI.resolve('__file_provider__', [fsName]);
25
25
  if (!this.Fs) {
26
26
  throw new exceptions_1.InvalidArgument(`Filesystem ${fsName} not registered, check your fs configuration !`);
@@ -52,8 +52,8 @@ class fs extends di_1.AsyncService {
52
52
  const fInfo = di_1.DI.resolve(FileInfoService);
53
53
  return fInfo.getInfo(this.resolvePath(path));
54
54
  }
55
- tmpname() {
56
- return (0, uuid_1.v4)();
55
+ tmpname(ext) {
56
+ return ext ? `${(0, uuid_1.v4)()}${ext}` : (0, uuid_1.v4)();
57
57
  }
58
58
  /**
59
59
  * -------------------------------------------------------------------------
@@ -143,12 +143,12 @@ class fs extends di_1.AsyncService {
143
143
  static list(path) {
144
144
  return path.Fs.list(path.Path);
145
145
  }
146
- static tmppath(fs) {
146
+ static tmppath(fs, ext) {
147
147
  const f = di_1.DI.resolve('__file_provider__', [fs]);
148
148
  if (!f) {
149
149
  throw new exceptions_1.IOFail(`Filesystem ${fs} not exists, check your configuration`);
150
150
  }
151
- return f.tmppath();
151
+ return f.tmppath(ext);
152
152
  }
153
153
  static append(path, data, encoding) {
154
154
  return path.Fs.append(path.Path, data, encoding);
@@ -196,7 +196,7 @@ class FileInfoService {
196
196
  }
197
197
  exports.FileInfoService = FileInfoService;
198
198
  /**
199
- * File hasher, to create unique hash for file
199
+ * File hasher, to create unique hash for a file, raw data or a stream.
200
200
  */
201
201
  class FileHasher {
202
202
  }
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}