@spinajs/fs 2.0.480 → 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.
- package/lib/cjs/cli/cat.d.ts +11 -0
- package/lib/cjs/cli/cat.d.ts.map +1 -0
- package/lib/cjs/cli/cat.js +40 -0
- package/lib/cjs/cli/cat.js.map +1 -0
- package/lib/cjs/cli/cp.d.ts +11 -0
- package/lib/cjs/cli/cp.d.ts.map +1 -0
- package/lib/cjs/cli/cp.js +41 -0
- package/lib/cjs/cli/cp.js.map +1 -0
- package/lib/cjs/cli/download.d.ts +7 -0
- package/lib/cjs/cli/download.d.ts.map +1 -0
- package/lib/cjs/cli/download.js +39 -0
- package/lib/cjs/cli/download.js.map +1 -0
- package/lib/cjs/cli/exists.d.ts +7 -0
- package/lib/cjs/cli/exists.d.ts.map +1 -0
- package/lib/cjs/cli/exists.js +39 -0
- package/lib/cjs/cli/exists.js.map +1 -0
- package/lib/cjs/cli/fs.d.ts +11 -0
- package/lib/cjs/cli/fs.d.ts.map +1 -1
- package/lib/cjs/cli/fs.js +47 -21
- package/lib/cjs/cli/fs.js.map +1 -1
- package/lib/cjs/cli/hash.d.ts +11 -0
- package/lib/cjs/cli/hash.d.ts.map +1 -0
- package/lib/cjs/cli/hash.js +40 -0
- package/lib/cjs/cli/hash.js.map +1 -0
- package/lib/cjs/cli/info.d.ts +7 -0
- package/lib/cjs/cli/info.d.ts.map +1 -0
- package/lib/cjs/cli/info.js +45 -0
- package/lib/cjs/cli/info.js.map +1 -0
- package/lib/cjs/cli/ls.d.ts +7 -0
- package/lib/cjs/cli/ls.d.ts.map +1 -0
- package/lib/cjs/cli/ls.js +40 -0
- package/lib/cjs/cli/ls.js.map +1 -0
- package/lib/cjs/cli/mkdir.d.ts +7 -0
- package/lib/cjs/cli/mkdir.d.ts.map +1 -0
- package/lib/cjs/cli/mkdir.js +39 -0
- package/lib/cjs/cli/mkdir.js.map +1 -0
- package/lib/cjs/cli/mv.d.ts +11 -0
- package/lib/cjs/cli/mv.d.ts.map +1 -0
- package/lib/cjs/cli/mv.js +41 -0
- package/lib/cjs/cli/mv.js.map +1 -0
- package/lib/cjs/cli/rm.d.ts +1 -6
- package/lib/cjs/cli/rm.d.ts.map +1 -1
- package/lib/cjs/cli/rm.js +14 -4
- package/lib/cjs/cli/rm.js.map +1 -1
- package/lib/cjs/cli/stat.d.ts +1 -5
- package/lib/cjs/cli/stat.d.ts.map +1 -1
- package/lib/cjs/cli/stat.js +20 -3
- package/lib/cjs/cli/stat.js.map +1 -1
- package/lib/cjs/cli/unzip.d.ts +11 -0
- package/lib/cjs/cli/unzip.d.ts.map +1 -0
- package/lib/cjs/cli/unzip.js +47 -0
- package/lib/cjs/cli/unzip.js.map +1 -0
- package/lib/cjs/cli/upload.d.ts +7 -0
- package/lib/cjs/cli/upload.d.ts.map +1 -0
- package/lib/cjs/cli/upload.js +40 -0
- package/lib/cjs/cli/upload.js.map +1 -0
- package/lib/cjs/cli/write.d.ts +13 -0
- package/lib/cjs/cli/write.d.ts.map +1 -0
- package/lib/cjs/cli/write.js +54 -0
- package/lib/cjs/cli/write.js.map +1 -0
- package/lib/cjs/cli/zip.d.ts +12 -0
- package/lib/cjs/cli/zip.d.ts.map +1 -0
- package/lib/cjs/cli/zip.js +51 -0
- package/lib/cjs/cli/zip.js.map +1 -0
- package/lib/cjs/config/fs.d.ts +9 -0
- package/lib/cjs/config/fs.d.ts.map +1 -0
- package/lib/cjs/config/fs.js +22 -0
- package/lib/cjs/config/fs.js.map +1 -0
- package/lib/cjs/file-hasher.d.ts +85 -5
- package/lib/cjs/file-hasher.d.ts.map +1 -1
- package/lib/cjs/file-hasher.js +106 -14
- package/lib/cjs/file-hasher.js.map +1 -1
- package/lib/cjs/file-info.d.ts +94 -5
- package/lib/cjs/file-info.d.ts.map +1 -1
- package/lib/cjs/file-info.js +267 -73
- package/lib/cjs/file-info.js.map +1 -1
- package/lib/cjs/fp.d.ts +80 -2
- package/lib/cjs/fp.d.ts.map +1 -1
- package/lib/cjs/fp.js +149 -3
- package/lib/cjs/fp.js.map +1 -1
- package/lib/cjs/index.d.ts +2 -1
- package/lib/cjs/index.d.ts.map +1 -1
- package/lib/cjs/index.js +7 -2
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/interfaces.d.ts +89 -12
- package/lib/cjs/interfaces.d.ts.map +1 -1
- package/lib/cjs/interfaces.js +13 -13
- package/lib/cjs/interfaces.js.map +1 -1
- package/lib/cjs/local-provider.d.ts +51 -6
- package/lib/cjs/local-provider.d.ts.map +1 -1
- package/lib/cjs/local-provider.js +254 -76
- package/lib/cjs/local-provider.js.map +1 -1
- package/lib/cjs/temp-cleanup-strategy.d.ts +70 -0
- package/lib/cjs/temp-cleanup-strategy.d.ts.map +1 -0
- package/lib/cjs/temp-cleanup-strategy.js +157 -0
- package/lib/cjs/temp-cleanup-strategy.js.map +1 -0
- package/lib/cjs/temp-provider.d.ts +59 -0
- package/lib/cjs/temp-provider.d.ts.map +1 -0
- package/lib/cjs/temp-provider.js +150 -0
- package/lib/cjs/temp-provider.js.map +1 -0
- package/lib/mjs/cli/cat.d.ts +11 -0
- package/lib/mjs/cli/cat.d.ts.map +1 -0
- package/lib/mjs/cli/cat.js +37 -0
- package/lib/mjs/cli/cat.js.map +1 -0
- package/lib/mjs/cli/cp.d.ts +11 -0
- package/lib/mjs/cli/cp.d.ts.map +1 -0
- package/lib/mjs/cli/cp.js +38 -0
- package/lib/mjs/cli/cp.js.map +1 -0
- package/lib/mjs/cli/download.d.ts +7 -0
- package/lib/mjs/cli/download.d.ts.map +1 -0
- package/lib/mjs/cli/download.js +36 -0
- package/lib/mjs/cli/download.js.map +1 -0
- package/lib/mjs/cli/exists.d.ts +7 -0
- package/lib/mjs/cli/exists.d.ts.map +1 -0
- package/lib/mjs/cli/exists.js +36 -0
- package/lib/mjs/cli/exists.js.map +1 -0
- package/lib/mjs/cli/fs.d.ts +11 -1
- package/lib/mjs/cli/fs.d.ts.map +1 -1
- package/lib/mjs/cli/fs.js +43 -22
- package/lib/mjs/cli/fs.js.map +1 -1
- package/lib/mjs/cli/hash.d.ts +11 -0
- package/lib/mjs/cli/hash.d.ts.map +1 -0
- package/lib/mjs/cli/hash.js +37 -0
- package/lib/mjs/cli/hash.js.map +1 -0
- package/lib/mjs/cli/info.d.ts +7 -0
- package/lib/mjs/cli/info.d.ts.map +1 -0
- package/lib/mjs/cli/info.js +42 -0
- package/lib/mjs/cli/info.js.map +1 -0
- package/lib/mjs/cli/ls.d.ts +7 -0
- package/lib/mjs/cli/ls.d.ts.map +1 -0
- package/lib/mjs/cli/ls.js +37 -0
- package/lib/mjs/cli/ls.js.map +1 -0
- package/lib/mjs/cli/mkdir.d.ts +7 -0
- package/lib/mjs/cli/mkdir.d.ts.map +1 -0
- package/lib/mjs/cli/mkdir.js +36 -0
- package/lib/mjs/cli/mkdir.js.map +1 -0
- package/lib/mjs/cli/mv.d.ts +11 -0
- package/lib/mjs/cli/mv.d.ts.map +1 -0
- package/lib/mjs/cli/mv.js +38 -0
- package/lib/mjs/cli/mv.js.map +1 -0
- package/lib/mjs/cli/rm.d.ts +1 -6
- package/lib/mjs/cli/rm.d.ts.map +1 -1
- package/lib/mjs/cli/rm.js +15 -5
- package/lib/mjs/cli/rm.js.map +1 -1
- package/lib/mjs/cli/stat.d.ts +1 -5
- package/lib/mjs/cli/stat.d.ts.map +1 -1
- package/lib/mjs/cli/stat.js +21 -4
- package/lib/mjs/cli/stat.js.map +1 -1
- package/lib/mjs/cli/unzip.d.ts +11 -0
- package/lib/mjs/cli/unzip.d.ts.map +1 -0
- package/lib/mjs/cli/unzip.js +44 -0
- package/lib/mjs/cli/unzip.js.map +1 -0
- package/lib/mjs/cli/upload.d.ts +7 -0
- package/lib/mjs/cli/upload.d.ts.map +1 -0
- package/lib/mjs/cli/upload.js +37 -0
- package/lib/mjs/cli/upload.js.map +1 -0
- package/lib/mjs/cli/write.d.ts +13 -0
- package/lib/mjs/cli/write.d.ts.map +1 -0
- package/lib/mjs/cli/write.js +51 -0
- package/lib/mjs/cli/write.js.map +1 -0
- package/lib/mjs/cli/zip.d.ts +12 -0
- package/lib/mjs/cli/zip.d.ts.map +1 -0
- package/lib/mjs/cli/zip.js +48 -0
- package/lib/mjs/cli/zip.js.map +1 -0
- package/lib/mjs/config/fs.d.ts +9 -0
- package/lib/mjs/config/fs.d.ts.map +1 -0
- package/lib/mjs/config/fs.js +20 -0
- package/lib/mjs/config/fs.js.map +1 -0
- package/lib/mjs/file-hasher.d.ts +85 -5
- package/lib/mjs/file-hasher.d.ts.map +1 -1
- package/lib/mjs/file-hasher.js +106 -14
- package/lib/mjs/file-hasher.js.map +1 -1
- package/lib/mjs/file-info.d.ts +94 -5
- package/lib/mjs/file-info.d.ts.map +1 -1
- package/lib/mjs/file-info.js +233 -73
- package/lib/mjs/file-info.js.map +1 -1
- package/lib/mjs/fp.d.ts +80 -2
- package/lib/mjs/fp.d.ts.map +1 -1
- package/lib/mjs/fp.js +135 -4
- package/lib/mjs/fp.js.map +1 -1
- package/lib/mjs/index.d.ts +2 -1
- package/lib/mjs/index.d.ts.map +1 -1
- package/lib/mjs/index.js +8 -3
- package/lib/mjs/index.js.map +1 -1
- package/lib/mjs/interfaces.d.ts +89 -12
- package/lib/mjs/interfaces.d.ts.map +1 -1
- package/lib/mjs/interfaces.js +13 -13
- package/lib/mjs/interfaces.js.map +1 -1
- package/lib/mjs/local-provider.d.ts +51 -6
- package/lib/mjs/local-provider.d.ts.map +1 -1
- package/lib/mjs/local-provider.js +257 -79
- package/lib/mjs/local-provider.js.map +1 -1
- package/lib/mjs/temp-cleanup-strategy.d.ts +70 -0
- package/lib/mjs/temp-cleanup-strategy.d.ts.map +1 -0
- package/lib/mjs/temp-cleanup-strategy.js +153 -0
- package/lib/mjs/temp-cleanup-strategy.js.map +1 -0
- package/lib/mjs/temp-provider.d.ts +59 -0
- package/lib/mjs/temp-provider.d.ts.map +1 -0
- package/lib/mjs/temp-provider.js +147 -0
- package/lib/mjs/temp-provider.js.map +1 -0
- package/lib/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/tsconfig.mjs.tsbuildinfo +1 -1
- package/package.json +11 -6
- package/lib/cjs/local-temp-provider.d.ts +0 -18
- package/lib/cjs/local-temp-provider.d.ts.map +0 -1
- package/lib/cjs/local-temp-provider.js +0 -63
- package/lib/cjs/local-temp-provider.js.map +0 -1
- package/lib/mjs/local-temp-provider.d.ts +0 -18
- package/lib/mjs/local-temp-provider.d.ts.map +0 -1
- package/lib/mjs/local-temp-provider.js +0 -60
- 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
|
-
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"fp.js","sourceRoot":"","sources":["../../src/fp.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/index.d.ts
CHANGED
|
@@ -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 './
|
|
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';
|
package/lib/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,
|
|
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("./
|
|
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
|
-
|
|
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) {
|
package/lib/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAAsE;AACtE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/interfaces.d.ts
CHANGED
|
@@ -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
|
|
89
|
+
export interface ITempOptions {
|
|
68
90
|
/**
|
|
69
91
|
* Should cleanup of old temp files be enabled
|
|
70
92
|
*/
|
|
71
|
-
cleanup
|
|
93
|
+
cleanup?: boolean;
|
|
72
94
|
/**
|
|
73
|
-
* Cleanup interval in
|
|
95
|
+
* Cleanup interval in milliseconds, used by interval-based cleanup strategies.
|
|
74
96
|
* Default is 10 minutes
|
|
75
97
|
*/
|
|
76
|
-
cleanupInterval
|
|
98
|
+
cleanupInterval?: number;
|
|
77
99
|
/**
|
|
78
|
-
* Max temp file age in seconds. Older
|
|
100
|
+
* Max temp file age in seconds. Older than this will be deleted.
|
|
79
101
|
* Default is 1 hour
|
|
80
102
|
*/
|
|
81
|
-
maxFileAge
|
|
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
|
-
|
|
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":"AACA,OAAO,EAAE,YAAY,EAAM,cAAc,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEjF,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/interfaces.js
CHANGED
|
@@ -10,17 +10,17 @@ const uuid_1 = require("uuid");
|
|
|
10
10
|
*/
|
|
11
11
|
class URI {
|
|
12
12
|
constructor(uri) {
|
|
13
|
-
|
|
14
|
-
|
|
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
|
|
16
|
+
if (!e) {
|
|
19
17
|
throw new exceptions_1.InvalidArgument(`URI ${uri} is not valid`);
|
|
20
18
|
}
|
|
21
|
-
const match = e[
|
|
22
|
-
const
|
|
23
|
-
|
|
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":";;;AAAA,4DAA4D;AAC5D,oCAAiF;AACjF,oDAA8D;AAI9D,+BAAoC;
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
|