@spinajs/fs 2.0.481 → 2.0.484
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 +12 -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/mjs/fp.js
CHANGED
|
@@ -1,8 +1,28 @@
|
|
|
1
|
-
import { _resolve } from '@spinajs/di';
|
|
1
|
+
import { _resolve, DI } from '@spinajs/di';
|
|
2
|
+
import { Configuration } from '@spinajs/configuration';
|
|
2
3
|
import { FileHasher, FileInfoService, fs } from './interfaces.js';
|
|
3
4
|
import { _chain, _check_arg, _is_string, _non_empty, _trim, _use } from '@spinajs/util';
|
|
4
5
|
import { access, constants, readFile } from "fs";
|
|
5
6
|
import { IOFail } from '@spinajs/exceptions';
|
|
7
|
+
/**
|
|
8
|
+
* Resolves a filesystem provider by name / instance, or falls back to the
|
|
9
|
+
* configured default provider ( fs.defaultProvider ) when none is given.
|
|
10
|
+
*
|
|
11
|
+
* @param fileSystem provider name, provider instance, or undefined for the default
|
|
12
|
+
*/
|
|
13
|
+
function _provider(fileSystem) {
|
|
14
|
+
return () => {
|
|
15
|
+
const name = fileSystem ?? DI.get(Configuration)?.get('fs.defaultProvider');
|
|
16
|
+
if (!name) {
|
|
17
|
+
throw new IOFail(`No filesystem provided and no fs.defaultProvider configured`);
|
|
18
|
+
}
|
|
19
|
+
const f = _fs(name)();
|
|
20
|
+
if (!f) {
|
|
21
|
+
throw new IOFail(`Filesystem ${typeof name === 'string' ? name : name.Name} not found`);
|
|
22
|
+
}
|
|
23
|
+
return f;
|
|
24
|
+
};
|
|
25
|
+
}
|
|
6
26
|
/**
|
|
7
27
|
* Gets filesystem by its name
|
|
8
28
|
*
|
|
@@ -27,12 +47,12 @@ export function _fs(fileSystem) {
|
|
|
27
47
|
* @returns absolute path to zipped file
|
|
28
48
|
*/
|
|
29
49
|
export function _zip(srcPath, dstName, srcFs) {
|
|
30
|
-
return _chain(_use(_fs(srcFs), 'zipFS'), ({ zipFS }) => {
|
|
50
|
+
return _chain(_use(_fs(srcFs ?? 'fs-temp'), 'zipFS'), ({ zipFS }) => {
|
|
31
51
|
return zipFS.zip(srcPath, zipFS, dstName);
|
|
32
52
|
});
|
|
33
53
|
}
|
|
34
54
|
export function _unzip(srcPath, dstName, srcFs) {
|
|
35
|
-
return _chain(_use(_fs(srcFs), 'zipFS'), ({ zipFS }) => {
|
|
55
|
+
return _chain(_use(_fs(srcFs ?? 'fs-temp'), 'zipFS'), ({ zipFS }) => {
|
|
36
56
|
return zipFS.unzip(srcPath, dstName, zipFS);
|
|
37
57
|
});
|
|
38
58
|
}
|
|
@@ -58,14 +78,125 @@ export function _file_hash(path) {
|
|
|
58
78
|
return hash.hash(path);
|
|
59
79
|
});
|
|
60
80
|
}
|
|
61
|
-
|
|
81
|
+
/**
|
|
82
|
+
* Checks if a path exists.
|
|
83
|
+
*
|
|
84
|
+
* Without a filesystem, checks an absolute local path directly. With a filesystem
|
|
85
|
+
* ( name or instance ), delegates to that provider ( path relative to its base ).
|
|
86
|
+
*
|
|
87
|
+
* @param path path to check
|
|
88
|
+
* @param fileSystem optional provider name / instance
|
|
89
|
+
*/
|
|
90
|
+
export function _exists(path, fileSystem) {
|
|
62
91
|
const p = _check_arg(_is_string(), _trim(), _non_empty())(path, 'path');
|
|
92
|
+
if (fileSystem !== undefined) {
|
|
93
|
+
return async () => _provider(fileSystem)().exists(p);
|
|
94
|
+
}
|
|
63
95
|
return async () => (new Promise((resolve) => {
|
|
64
96
|
access(p, constants.F_OK, (error) => {
|
|
65
97
|
resolve(!error);
|
|
66
98
|
});
|
|
67
99
|
}));
|
|
68
100
|
}
|
|
101
|
+
/**
|
|
102
|
+
* Reads whole file content through a filesystem provider.
|
|
103
|
+
*
|
|
104
|
+
* @param path path relative to provider base
|
|
105
|
+
* @param encoding optional encoding ( raw Buffer when omitted )
|
|
106
|
+
* @param fileSystem provider name / instance, or default provider
|
|
107
|
+
*/
|
|
108
|
+
export function _read(path, encoding, fileSystem) {
|
|
109
|
+
return _chain(_use(_provider(fileSystem), 'f'), ({ f }) => f.read(path, encoding));
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Writes data to a file through a filesystem provider.
|
|
113
|
+
*/
|
|
114
|
+
export function _write(path, data, encoding, fileSystem) {
|
|
115
|
+
return _chain(_use(_provider(fileSystem), 'f'), ({ f }) => f.write(path, data, encoding));
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Appends data to a file through a filesystem provider.
|
|
119
|
+
*/
|
|
120
|
+
export function _append(path, data, encoding, fileSystem) {
|
|
121
|
+
return _chain(_use(_provider(fileSystem), 'f'), ({ f }) => f.append(path, data, encoding));
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Copies a file / dir, optionally into another filesystem.
|
|
125
|
+
*
|
|
126
|
+
* @param src source path ( relative to srcFs )
|
|
127
|
+
* @param dst destination path
|
|
128
|
+
* @param srcFs source provider name / instance ( default provider when omitted )
|
|
129
|
+
* @param dstFs optional destination provider - copy within srcFs when omitted
|
|
130
|
+
*/
|
|
131
|
+
export function _copy(src, dst, srcFs, dstFs) {
|
|
132
|
+
return _chain(_use(_provider(srcFs), 'f'), ({ f }) => f.copy(src, dst, dstFs ? _provider(dstFs)() : undefined));
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Moves a file / dir, optionally into another filesystem.
|
|
136
|
+
*/
|
|
137
|
+
export function _move(src, dst, srcFs, dstFs) {
|
|
138
|
+
return _chain(_use(_provider(srcFs), 'f'), ({ f }) => f.move(src, dst, dstFs ? _provider(dstFs)() : undefined));
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Renames a file within a single filesystem.
|
|
142
|
+
*/
|
|
143
|
+
export function _rename(oldPath, newPath, fileSystem) {
|
|
144
|
+
return _chain(_use(_provider(fileSystem), 'f'), ({ f }) => f.rename(oldPath, newPath));
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Removes a file or a directory ( recursively ).
|
|
148
|
+
*/
|
|
149
|
+
export function _rm(path, fileSystem) {
|
|
150
|
+
return _chain(_use(_provider(fileSystem), 'f'), ({ f }) => f.rm(path));
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Creates a directory ( recursively ).
|
|
154
|
+
*/
|
|
155
|
+
export function _mkdir(path, fileSystem) {
|
|
156
|
+
return _chain(_use(_provider(fileSystem), 'f'), ({ f }) => f.mkdir(path));
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Lists directory content.
|
|
160
|
+
*/
|
|
161
|
+
export function _list(path, fileSystem) {
|
|
162
|
+
return _chain(_use(_provider(fileSystem), 'f'), ({ f }) => f.list(path));
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Returns file / dir statistics.
|
|
166
|
+
*/
|
|
167
|
+
export function _stat(path, fileSystem) {
|
|
168
|
+
return _chain(_use(_provider(fileSystem), 'f'), ({ f }) => f.stat(path));
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Checks if a path is an existing directory.
|
|
172
|
+
*/
|
|
173
|
+
export function _dir_exists(path, fileSystem) {
|
|
174
|
+
return _chain(_use(_provider(fileSystem), 'f'), ({ f }) => f.dirExists(path));
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Checks if a path is a directory.
|
|
178
|
+
*/
|
|
179
|
+
export function _is_dir(path, fileSystem) {
|
|
180
|
+
return _chain(_use(_provider(fileSystem), 'f'), ({ f }) => f.isDir(path));
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Downloads a file to local storage and returns the local path.
|
|
184
|
+
*/
|
|
185
|
+
export function _download(path, fileSystem) {
|
|
186
|
+
return _chain(_use(_provider(fileSystem), 'f'), ({ f }) => f.download(path));
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Uploads a local file into a filesystem provider.
|
|
190
|
+
*/
|
|
191
|
+
export function _upload(srcPath, dstPath, fileSystem) {
|
|
192
|
+
return _chain(_use(_provider(fileSystem), 'f'), ({ f }) => f.upload(srcPath, dstPath));
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Hashes a file through a filesystem provider.
|
|
196
|
+
*/
|
|
197
|
+
export function _hash(path, algo, fileSystem) {
|
|
198
|
+
return _chain(_use(_provider(fileSystem), 'f'), ({ f }) => f.hash(path, algo));
|
|
199
|
+
}
|
|
69
200
|
export function _is_of_type(path, extension) {
|
|
70
201
|
return async () => {
|
|
71
202
|
const { fileTypeFromFile } = await import('file-type');
|
package/lib/mjs/fp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fp.js","sourceRoot":"","sources":["../../src/fp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"fp.js","sourceRoot":"","sources":["../../src/fp.ts"],"names":[],"mappings":"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"}
|
package/lib/mjs/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/mjs/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/mjs/index.js
CHANGED
|
@@ -8,13 +8,14 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
10
|
import { Config, InvalidConfiguration } from '@spinajs/configuration';
|
|
11
|
-
import { AsyncService, ResolveException } from '@spinajs/di';
|
|
11
|
+
import { AsyncService, ResolveException, sortByDependencies } from '@spinajs/di';
|
|
12
12
|
import { Injectable, Bootstrapper, DI } from '@spinajs/di';
|
|
13
13
|
import { fs } from './interfaces.js';
|
|
14
14
|
import { Log, Logger } from '@spinajs/log-common';
|
|
15
15
|
export * from './interfaces.js';
|
|
16
16
|
export * from './local-provider.js';
|
|
17
|
-
export * from './
|
|
17
|
+
export * from './temp-provider.js';
|
|
18
|
+
export * from './temp-cleanup-strategy.js';
|
|
18
19
|
export * from './decorators.js';
|
|
19
20
|
export * from './file-hasher.js';
|
|
20
21
|
export * from './file-info.js';
|
|
@@ -34,7 +35,11 @@ export class fsService extends AsyncService {
|
|
|
34
35
|
providers.set(x.name, x);
|
|
35
36
|
});
|
|
36
37
|
const rProviders = DI.RootContainer.Registry.getTypes(fs);
|
|
37
|
-
|
|
38
|
+
// order provider creation so that providers referencing other providers
|
|
39
|
+
// ( eg. fsTemp backend via `provider` option ) are created after their dependency,
|
|
40
|
+
// regardless of config order. Fails fast on missing / self / circular reference.
|
|
41
|
+
const ordered = sortByDependencies(Array.from(providers.values()), (p) => p.name, (p) => p.provider);
|
|
42
|
+
const list = ordered.map((value) => ({ name: value.name, value }));
|
|
38
43
|
for (const cProvider of list) {
|
|
39
44
|
const type = rProviders.find((x) => x.name === cProvider.value.service);
|
|
40
45
|
if (!type) {
|
package/lib/mjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/mjs/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/mjs/interfaces.js
CHANGED
|
@@ -7,17 +7,17 @@ import { v4 as uuidv4 } from 'uuid';
|
|
|
7
7
|
*/
|
|
8
8
|
export class URI {
|
|
9
9
|
constructor(uri) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
throw new InvalidArgument(`URI ${uri} is not valid`);
|
|
13
|
-
}
|
|
10
|
+
// strict scheme - previous pattern /(fs+:\/\/)+/ accepted eg. fsss:// and fs://fs://
|
|
11
|
+
const reg = /^fs:\/\/(.+)$/;
|
|
14
12
|
const e = reg.exec(uri);
|
|
15
|
-
if (!e
|
|
13
|
+
if (!e) {
|
|
16
14
|
throw new InvalidArgument(`URI ${uri} is not valid`);
|
|
17
15
|
}
|
|
18
|
-
const match = e[
|
|
19
|
-
const
|
|
20
|
-
|
|
16
|
+
const match = e[1];
|
|
17
|
+
const slash = match.indexOf('/');
|
|
18
|
+
// fs://name ( no path ) -> whole match is the fs name, path is empty
|
|
19
|
+
const fsName = slash === -1 ? match : match.substring(0, slash);
|
|
20
|
+
this.Path = slash === -1 ? '' : match.substring(slash + 1);
|
|
21
21
|
this.Fs = DI.resolve('__file_provider__', [fsName]);
|
|
22
22
|
if (!this.Fs) {
|
|
23
23
|
throw new InvalidArgument(`Filesystem ${fsName} not registered, check your fs configuration !`);
|
|
@@ -48,8 +48,8 @@ export class fs extends AsyncService {
|
|
|
48
48
|
const fInfo = DI.resolve(FileInfoService);
|
|
49
49
|
return fInfo.getInfo(this.resolvePath(path));
|
|
50
50
|
}
|
|
51
|
-
tmpname() {
|
|
52
|
-
return uuidv4();
|
|
51
|
+
tmpname(ext) {
|
|
52
|
+
return ext ? `${uuidv4()}${ext}` : uuidv4();
|
|
53
53
|
}
|
|
54
54
|
/**
|
|
55
55
|
* -------------------------------------------------------------------------
|
|
@@ -139,12 +139,12 @@ export class fs extends AsyncService {
|
|
|
139
139
|
static list(path) {
|
|
140
140
|
return path.Fs.list(path.Path);
|
|
141
141
|
}
|
|
142
|
-
static tmppath(fs) {
|
|
142
|
+
static tmppath(fs, ext) {
|
|
143
143
|
const f = DI.resolve('__file_provider__', [fs]);
|
|
144
144
|
if (!f) {
|
|
145
145
|
throw new IOFail(`Filesystem ${fs} not exists, check your configuration`);
|
|
146
146
|
}
|
|
147
|
-
return f.tmppath();
|
|
147
|
+
return f.tmppath(ext);
|
|
148
148
|
}
|
|
149
149
|
static append(path, data, encoding) {
|
|
150
150
|
return path.Fs.append(path.Path, data, encoding);
|
|
@@ -190,7 +190,7 @@ export class fs extends AsyncService {
|
|
|
190
190
|
export class FileInfoService {
|
|
191
191
|
}
|
|
192
192
|
/**
|
|
193
|
-
* File hasher, to create unique hash for file
|
|
193
|
+
* File hasher, to create unique hash for a file, raw data or a stream.
|
|
194
194
|
*/
|
|
195
195
|
export class FileHasher {
|
|
196
196
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,OAAO,EAAE,YAAY,EAAE,EAAE,EAAoC,MAAM,aAAa,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAI9D,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
|