@spinajs/fs 2.0.171 → 2.0.173
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/{fs-hasher.d.ts → file-hasher.d.ts} +1 -1
- package/lib/cjs/file-hasher.d.ts.map +1 -0
- package/lib/cjs/{fs-hasher.js → file-hasher.js} +3 -3
- package/lib/cjs/file-hasher.js.map +1 -0
- package/lib/cjs/file-info.d.ts +4 -1
- package/lib/cjs/file-info.d.ts.map +1 -1
- package/lib/cjs/file-info.js +70 -36
- package/lib/cjs/file-info.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 +2 -1
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/interfaces.d.ts +23 -9
- package/lib/cjs/interfaces.d.ts.map +1 -1
- package/lib/cjs/interfaces.js.map +1 -1
- package/lib/cjs/local-provider.d.ts +4 -2
- package/lib/cjs/local-provider.d.ts.map +1 -1
- package/lib/cjs/local-provider.js +12 -3
- package/lib/cjs/local-provider.js.map +1 -1
- package/lib/cjs/local-temp-provider.d.ts.map +1 -1
- package/lib/cjs/local-temp-provider.js +17 -3
- package/lib/cjs/local-temp-provider.js.map +1 -1
- package/lib/mjs/{fs-hasher.d.ts → file-hasher.d.ts} +1 -1
- package/lib/mjs/file-hasher.d.ts.map +1 -0
- package/lib/mjs/{fs-hasher.js → file-hasher.js} +3 -3
- package/lib/mjs/file-hasher.js.map +1 -0
- package/lib/mjs/file-info.d.ts +4 -1
- package/lib/mjs/file-info.d.ts.map +1 -1
- package/lib/mjs/file-info.js +70 -33
- package/lib/mjs/file-info.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 +2 -1
- package/lib/mjs/index.js.map +1 -1
- package/lib/mjs/interfaces.d.ts +23 -9
- package/lib/mjs/interfaces.d.ts.map +1 -1
- package/lib/mjs/interfaces.js.map +1 -1
- package/lib/mjs/local-provider.d.ts +4 -2
- package/lib/mjs/local-provider.d.ts.map +1 -1
- package/lib/mjs/local-provider.js +13 -4
- package/lib/mjs/local-provider.js.map +1 -1
- package/lib/mjs/local-temp-provider.d.ts.map +1 -1
- package/lib/mjs/local-temp-provider.js +18 -3
- package/lib/mjs/local-temp-provider.js.map +1 -1
- package/lib/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/tsconfig.mjs.tsbuildinfo +1 -1
- package/package.json +6 -4
- package/lib/cjs/fs-hasher.d.ts.map +0 -1
- package/lib/cjs/fs-hasher.js.map +0 -1
- package/lib/mjs/fs-hasher.d.ts.map +0 -1
- package/lib/mjs/fs-hasher.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-hasher.d.ts","sourceRoot":"","sources":["../../src/file-hasher.ts"],"names":[],"mappings":";AACA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAG5B,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,qBACa,iBAAkB,SAAQ,UAAU;IAC/C,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC;;IAQnB,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAYvD"}
|
|
@@ -23,9 +23,9 @@ let DefaultFileHasher = class DefaultFileHasher extends interfaces_js_1.FileHash
|
|
|
23
23
|
super();
|
|
24
24
|
this.HashAlgo = crypto_1.default.createHash('sha256');
|
|
25
25
|
}
|
|
26
|
-
hash(pathToFile) {
|
|
26
|
+
async hash(pathToFile) {
|
|
27
27
|
if (!node_fs_1.default.existsSync(pathToFile)) {
|
|
28
|
-
throw new exceptions_1.IOFail(`File ${pathToFile} not exists
|
|
28
|
+
throw new exceptions_1.IOFail(`File ${pathToFile} not exists`);
|
|
29
29
|
}
|
|
30
30
|
return new Promise((resolve, reject) => {
|
|
31
31
|
node_fs_1.default.createReadStream(pathToFile)
|
|
@@ -40,4 +40,4 @@ DefaultFileHasher = __decorate([
|
|
|
40
40
|
__metadata("design:paramtypes", [])
|
|
41
41
|
], DefaultFileHasher);
|
|
42
42
|
exports.DefaultFileHasher = DefaultFileHasher;
|
|
43
|
-
//# sourceMappingURL=
|
|
43
|
+
//# sourceMappingURL=file-hasher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-hasher.js","sourceRoot":"","sources":["../../src/file-hasher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oCAAyC;AACzC,oDAA4B;AAC5B,sDAAyB;AACzB,oDAA6C;AAC7C,mDAA6C;AAGtC,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,0BAAU;IAG/C;QACE,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,QAAQ,GAAG,gBAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,UAAkB;QAClC,IAAI,CAAC,iBAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;YAC9B,MAAM,IAAI,mBAAM,CAAC,QAAQ,UAAU,aAAa,CAAC,CAAC;SACnD;QAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,iBAAE,CAAC,gBAAgB,CAAC,UAAU,CAAC;iBAC5B,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;iBAChD,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;iBACrD,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AArBY,iBAAiB;IAD7B,IAAA,eAAU,EAAC,0BAAU,CAAC;;GACV,iBAAiB,CAqB7B;AArBY,8CAAiB"}
|
package/lib/cjs/file-info.d.ts
CHANGED
|
@@ -3,6 +3,9 @@ import { FileInfoService, IFileInfo } from './interfaces.js';
|
|
|
3
3
|
export declare class DefaultFileInfo extends FileInfoService {
|
|
4
4
|
protected Log: Log;
|
|
5
5
|
getInfo(pathToFile: string): Promise<IFileInfo>;
|
|
6
|
-
protected
|
|
6
|
+
protected spawnExifProcess(file: string): Promise<string>;
|
|
7
|
+
protected getMetadata(file: string): Promise<{
|
|
8
|
+
[key: string]: string | number;
|
|
9
|
+
}>;
|
|
7
10
|
}
|
|
8
11
|
//# sourceMappingURL=file-info.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-info.d.ts","sourceRoot":"","sources":["../../src/file-info.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"file-info.d.ts","sourceRoot":"","sources":["../../src/file-info.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAU,MAAM,cAAc,CAAC;AAG3C,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AA2C7D,qBACa,eAAgB,SAAQ,eAAe;IAElD,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAEN,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;cAqB5C,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;cAa/C,WAAW,CAAC,IAAI,EAAE,MAAM;;;CAsCzC"}
|
package/lib/cjs/file-info.js
CHANGED
|
@@ -8,18 +8,17 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
12
|
exports.DefaultFileInfo = void 0;
|
|
13
|
+
const node_child_process_1 = require("node:child_process");
|
|
16
14
|
const di_1 = require("@spinajs/di");
|
|
17
15
|
const log_1 = require("@spinajs/log");
|
|
18
16
|
const exceptions_1 = require("@spinajs/exceptions");
|
|
19
17
|
const fs_1 = require("fs");
|
|
20
|
-
const exiftool_1 = __importDefault(require("exiftool"));
|
|
21
18
|
const interfaces_js_1 = require("./interfaces.js");
|
|
19
|
+
const luxon_1 = require("luxon");
|
|
22
20
|
const EXIFTOOL_MAPPINGS = {
|
|
21
|
+
audioChannels: "AudioChannels",
|
|
23
22
|
imageHeight: 'Height',
|
|
24
23
|
imageWidth: 'Width',
|
|
25
24
|
duration: 'Duration',
|
|
@@ -29,53 +28,88 @@ const EXIFTOOL_MAPPINGS = {
|
|
|
29
28
|
videoFrameRate: 'FrameRate',
|
|
30
29
|
maxBitrate: 'Bitrate',
|
|
31
30
|
maxDataRate: 'Bitrate',
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
31
|
+
avgBitrate: 'Bitrate',
|
|
32
|
+
compressorID: 'Codec',
|
|
33
|
+
fileSize: ["FileSize", (val) => (parseInt(val))],
|
|
34
|
+
'fileAccessDate/Time': ["AccessDate", (val) => { return luxon_1.DateTime.fromFormat(val, "yyyy:MM:dd HH:mm:ssZZ"); }],
|
|
35
|
+
'fileCreationDate/Time': ["CreationDate", (val) => { return luxon_1.DateTime.fromFormat(val, "yyyy:MM:dd HH:mm:ssZZ"); }],
|
|
36
|
+
'fileModificationDate/Time': ["ModificationDate", (val) => { return luxon_1.DateTime.fromFormat(val, "yyyy:MM:dd HH:mm:ssZZ"); }],
|
|
37
|
+
mimeType: "MimeType",
|
|
38
|
+
mimeEncoding: "Encoding",
|
|
39
|
+
wordCount: "WordCount",
|
|
40
|
+
lineCount: "LineCount"
|
|
35
41
|
};
|
|
42
|
+
function _fInfoInit() {
|
|
43
|
+
return {
|
|
44
|
+
FileSize: 0,
|
|
45
|
+
Height: 0,
|
|
46
|
+
Width: 0,
|
|
47
|
+
Duration: 0,
|
|
48
|
+
FrameCount: 0,
|
|
49
|
+
FrameRate: 0,
|
|
50
|
+
Bitrate: 0,
|
|
51
|
+
Codec: null,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
36
54
|
let DefaultFileInfo = class DefaultFileInfo extends interfaces_js_1.FileInfoService {
|
|
37
55
|
async getInfo(pathToFile) {
|
|
38
56
|
if (!(0, fs_1.existsSync)(pathToFile)) {
|
|
39
57
|
throw new exceptions_1.IOFail(`Path ${pathToFile} not exists`);
|
|
40
58
|
}
|
|
41
|
-
const fInfo =
|
|
42
|
-
Size: 0,
|
|
43
|
-
Height: 0,
|
|
44
|
-
Width: 0,
|
|
45
|
-
Duration: 0,
|
|
46
|
-
FrameCount: 0,
|
|
47
|
-
FrameRate: 0,
|
|
48
|
-
Bitrate: 0,
|
|
49
|
-
Codec: null,
|
|
50
|
-
Compressor: null,
|
|
51
|
-
};
|
|
59
|
+
const fInfo = _fInfoInit();
|
|
52
60
|
const metadata = await this.getMetadata(pathToFile);
|
|
53
61
|
for (const key in EXIFTOOL_MAPPINGS) {
|
|
54
62
|
if (metadata[key]) {
|
|
55
|
-
|
|
63
|
+
const mKey = EXIFTOOL_MAPPINGS[key];
|
|
64
|
+
if (Array.isArray(mKey)) {
|
|
65
|
+
fInfo[mKey[0]] = mKey[1](metadata[key]);
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
fInfo[EXIFTOOL_MAPPINGS[key]] = metadata[key];
|
|
69
|
+
}
|
|
56
70
|
}
|
|
57
71
|
}
|
|
58
72
|
return fInfo;
|
|
59
73
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
74
|
+
async spawnExifProcess(file) {
|
|
75
|
+
return new Promise((resolve, reject) => {
|
|
76
|
+
const process = (0, node_child_process_1.spawn)("exiftool", [file, "-n"]);
|
|
77
|
+
let stdOutBuffer = "";
|
|
78
|
+
let stdErrBuffer = "";
|
|
79
|
+
process.on("error", (err) => (reject(err)));
|
|
80
|
+
process.on("close", () => (stdErrBuffer ? reject(stdErrBuffer) : resolve(stdOutBuffer)));
|
|
81
|
+
process.stdout.on("data", (data) => (stdOutBuffer += data.toString("utf-8")));
|
|
82
|
+
process.stderr.on("data", (data) => (stdErrBuffer += data.toString("utf-8")));
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
async getMetadata(file) {
|
|
86
|
+
const raw = await this.spawnExifProcess(file);
|
|
87
|
+
// Split the response into lines.
|
|
88
|
+
const response = raw.split("\n");
|
|
89
|
+
//For each line of the response extract the meta data into a nice associative array
|
|
90
|
+
const metaData = {};
|
|
91
|
+
response.forEach(function (responseLine) {
|
|
92
|
+
var pieces = responseLine.split(": ");
|
|
93
|
+
//Is this a line with a meta data pair on it?
|
|
94
|
+
if (pieces.length == 2) {
|
|
95
|
+
//Turn the plain text data key into a camel case key.
|
|
96
|
+
var key = pieces[0].trim().split(' ').map(function (tokenInKey, tokenNumber) {
|
|
97
|
+
if (tokenNumber === 0)
|
|
98
|
+
return tokenInKey.toLowerCase();
|
|
99
|
+
else
|
|
100
|
+
return tokenInKey[0].toUpperCase() + tokenInKey.slice(1);
|
|
101
|
+
}).join('');
|
|
102
|
+
//Trim the value associated with the key to make it nice.
|
|
103
|
+
var value = pieces[1].trim();
|
|
104
|
+
if (+value === +value) {
|
|
105
|
+
metaData[key] = parseFloat(value);
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
metaData[key] = value;
|
|
109
|
+
}
|
|
76
110
|
}
|
|
77
111
|
});
|
|
78
|
-
return
|
|
112
|
+
return metaData;
|
|
79
113
|
}
|
|
80
114
|
};
|
|
81
115
|
__decorate([
|
package/lib/cjs/file-info.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-info.js","sourceRoot":"","sources":["../../src/file-info.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"file-info.js","sourceRoot":"","sources":["../../src/file-info.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/index.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { Bootstrapper } from '@spinajs/di';
|
|
2
2
|
export * from './interfaces.js';
|
|
3
3
|
export * from './local-provider.js';
|
|
4
|
+
export * from './local-temp-provider.js';
|
|
4
5
|
export * from './decorators.js';
|
|
5
|
-
export * from './
|
|
6
|
+
export * from './file-hasher.js';
|
|
6
7
|
export * from './file-info.js';
|
|
7
8
|
export declare class FsBootsrapper extends Bootstrapper {
|
|
8
9
|
bootstrap(): void;
|
package/lib/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAc,YAAY,EAAkB,MAAM,aAAa,CAAC;AAGvE,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAc,YAAY,EAAkB,MAAM,aAAa,CAAC;AAGvE,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAE/B,qBACa,aAAc,SAAQ,YAAY;IACtC,SAAS,IAAI,IAAI;CAyCzB"}
|
package/lib/cjs/index.js
CHANGED
|
@@ -27,8 +27,9 @@ const di_2 = require("@spinajs/di");
|
|
|
27
27
|
const interfaces_js_1 = require("./interfaces.js");
|
|
28
28
|
__exportStar(require("./interfaces.js"), exports);
|
|
29
29
|
__exportStar(require("./local-provider.js"), exports);
|
|
30
|
+
__exportStar(require("./local-temp-provider.js"), exports);
|
|
30
31
|
__exportStar(require("./decorators.js"), exports);
|
|
31
|
-
__exportStar(require("./
|
|
32
|
+
__exportStar(require("./file-hasher.js"), exports);
|
|
32
33
|
__exportStar(require("./file-info.js"), exports);
|
|
33
34
|
let FsBootsrapper = class FsBootsrapper extends di_2.Bootstrapper {
|
|
34
35
|
bootstrap() {
|
package/lib/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA6E;AAC7E,oCAA+C;AAC/C,oCAAuE;AACvE,mDAA+E;AAE/E,kDAAgC;AAChC,sDAAoC;AACpC,kDAAgC;AAChC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA6E;AAC7E,oCAA+C;AAC/C,oCAAuE;AACvE,mDAA+E;AAE/E,kDAAgC;AAChC,sDAAoC;AACpC,2DAAyC;AACzC,kDAAgC;AAChC,mDAAiC;AACjC,iDAA+B;AAGxB,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,iBAAY;IACtC,SAAS;QACd,OAAE,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,SAAqB,EAAE,EAAE;YAC7D,MAAM,GAAG,GAAqB,SAAS,CAAC,GAAG,CAAC,6BAAa,CAAC,CAAC,GAAG,CAAmB,IAAI,CAAC,CAAC;YAEvF,MAAM,eAAe,GAAG,GAAG,CAAC,eAAe,CAAC;YAE5C,IAAI,CAAC,eAAe,EAAE;gBACpB,MAAM,IAAI,oCAAoB,CAAC,mEAAmE,CAAC,CAAC;aACrG;YAED,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkC,CAAC;YAC5D,2BAA2B;YAC3B,+CAA+C;YAC/C,kDAAkD;YAClD,kCAAkC;YAClC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC1B,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,OAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,kBAAE,CAAC,CAAC;YAC1D,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YACzE,KAAK,MAAM,SAAS,IAAI,IAAI,EAAE;gBAC5B,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAE7E,IAAI,CAAC,IAAI,EAAE;oBACT,MAAM,IAAI,qBAAgB,CACxB,QAAQ,SAAS,CAAC,KAAK,CAAC,OAAO,4DAA4D,CAC5F,CAAC;iBACH;gBAED,OAAE,CAAC,OAAO,CAAK,IAAI,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAU,EAAE,EAAE;oBAC1D,OAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAClF,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;QAEH,OAAE,CAAC,QAAQ,CAAC,CAAC,UAAsB,EAAE,IAAa,EAAE,EAAE;YACpD,MAAM,QAAQ,GAAG,OAAE,CAAC,GAAG,CAAK,2BAA2B,GAAG,IAAI,CAAC,CAAC;YAChE,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC;IAC7B,CAAC;CACF,CAAA;AA1CY,aAAa;IADzB,IAAA,eAAU,EAAC,iBAAY,CAAC;GACZ,aAAa,CA0CzB;AA1CY,sCAAa"}
|
package/lib/cjs/interfaces.d.ts
CHANGED
|
@@ -26,15 +26,21 @@ export interface IFileInfo {
|
|
|
26
26
|
/**
|
|
27
27
|
* Size in bytes
|
|
28
28
|
*/
|
|
29
|
-
|
|
30
|
-
Height
|
|
31
|
-
Width
|
|
32
|
-
Duration
|
|
33
|
-
FrameCount
|
|
34
|
-
FrameRate
|
|
35
|
-
Bitrate
|
|
36
|
-
Codec
|
|
37
|
-
|
|
29
|
+
FileSize: number;
|
|
30
|
+
Height?: number;
|
|
31
|
+
Width?: number;
|
|
32
|
+
Duration?: number;
|
|
33
|
+
FrameCount?: number;
|
|
34
|
+
FrameRate?: number;
|
|
35
|
+
Bitrate?: number;
|
|
36
|
+
Codec?: string;
|
|
37
|
+
LineCount?: number;
|
|
38
|
+
Encoding?: string;
|
|
39
|
+
MimeType?: string;
|
|
40
|
+
WordCount?: number;
|
|
41
|
+
AccessDate?: DateTime;
|
|
42
|
+
ModificationDate?: DateTime;
|
|
43
|
+
CreationDate?: DateTime;
|
|
38
44
|
}
|
|
39
45
|
export interface IFsLocalOptions {
|
|
40
46
|
/**
|
|
@@ -95,6 +101,7 @@ export declare abstract class fs extends AsyncService implements IMappableServic
|
|
|
95
101
|
abstract readStream(path: string, encoding?: BufferEncoding): Promise<ReadStream>;
|
|
96
102
|
abstract write(path: string, data: string | Buffer, encoding?: BufferEncoding): Promise<void>;
|
|
97
103
|
abstract writeStream(path: string, encoding?: BufferEncoding): Promise<WriteStream | PassThrough>;
|
|
104
|
+
abstract writeStream(path: string, readStream: ReadStream, encoding?: BufferEncoding): Promise<WriteStream | PassThrough | void>;
|
|
98
105
|
abstract exists(path: string): Promise<boolean>;
|
|
99
106
|
abstract dirExists(path: string): Promise<boolean>;
|
|
100
107
|
abstract copy(path: string, dest: string): Promise<void>;
|
|
@@ -115,6 +122,13 @@ export declare abstract class fs extends AsyncService implements IMappableServic
|
|
|
115
122
|
* @param path - path to zip
|
|
116
123
|
*/
|
|
117
124
|
abstract zip(path: string): Promise<IZipResult>;
|
|
125
|
+
/**
|
|
126
|
+
* Decompress given file to destination path
|
|
127
|
+
*
|
|
128
|
+
* @param path path to zip file
|
|
129
|
+
* @param destPath path to destination dir
|
|
130
|
+
*/
|
|
131
|
+
abstract unzip(srcPath: string, destPath: string): Promise<void>;
|
|
118
132
|
tmpname(): string;
|
|
119
133
|
}
|
|
120
134
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":";;;AACA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC7E,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;AAGrC,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AACD,MAAM,WAAW,gBAAgB;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,sBAAsB,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,KAAK;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,SAAS;IACxB;;OAEG;IAEH,
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":";;;AACA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC7E,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;AAGrC,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AACD,MAAM,WAAW,gBAAgB;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,sBAAsB,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,KAAK;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,SAAS;IACxB;;OAEG;IAEH,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB,gBAAgB,CAAC,EAAE,QAAQ,CAAC;IAC5B,YAAY,CAAC,EAAE,QAAQ,CAAC;CAEzB;AAED,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAoB,SAAQ,eAAe;IAC1D;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,eAAe,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,IAAI,MAAM,CAAC;IACrB,QAAQ,IAAI,UAAU,CAAC;IACvB,QAAQ,IAAI,MAAM,CAAC;CACpB;AAED,8BAAsB,EAAG,SAAQ,YAAa,YAAW,gBAAgB,EAAE,cAAc;IACvF,IAAW,WAAW,WAErB;IAGM,iBAAiB,CAAC,eAAe,EAAE,GAAG,GAAG,OAAO;IAKvD,SAAgB,IAAI,EAAE,MAAM,CAAC;IAE7B;;;;;;;;;;OAUG;aACa,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAEvD;;;;;OAKG;aACa,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;aACjC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;aACvE,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC;aACxE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;aACpF,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;aACxF,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,GAAG,WAAW,GAAG,IAAI,CAAC;aACvH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;aACtC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;aACzC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;aAC/C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;aACrD,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;aACvD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;aACzD,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;aAC/B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;aAClC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;aAClC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;aACrC,OAAO,IAAI,MAAM;aACjB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IACrG;;;;;;OAMG;aACa,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAEtD;;;;;OAKG;aACa,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAEhE,OAAO;CAGf;AAED;;;GAGG;AACH,8BAAsB,eAAe;aACnB,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;CAChE;AAED;;GAEG;AACH,8BAAsB,UAAU;aACd,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAC1D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAC5D,oCAA6E;AAI7E,+BAAoC;
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAC5D,oCAA6E;AAI7E,+BAAoC;AAsFpC,MAAsB,EAAG,SAAQ,iBAAY;IAC3C,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,8DAA8D;IACvD,iBAAiB,CAAC,eAAoB;QAC3C,sEAAsE;QACtE,OAAO,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/C,CAAC;IA0DM,OAAO;QACZ,OAAO,IAAA,SAAM,GAAE,CAAC;IAClB,CAAC;CACF;AAtED,gBAsEC;AAED;;;GAGG;AACH,MAAsB,eAAe;CAEpC;AAFD,0CAEC;AAED;;GAEG;AACH,MAAsB,UAAU;CAE/B;AAFD,gCAEC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
/// <reference types="node" />
|
|
3
|
+
import { ReadStream } from 'fs';
|
|
3
4
|
import { fs, IFsLocalOptions, IStat, IZipResult } from './interfaces.js';
|
|
4
5
|
import { Log } from '@spinajs/log-common';
|
|
5
6
|
/**
|
|
@@ -33,13 +34,13 @@ export declare class fsNative<T extends IFsLocalOptions> extends fs {
|
|
|
33
34
|
* read all content of file
|
|
34
35
|
*/
|
|
35
36
|
read(path: string, encoding?: BufferEncoding): Promise<string | Buffer>;
|
|
36
|
-
readStream(path: string, encoding?: BufferEncoding): Promise<
|
|
37
|
+
readStream(path: string, encoding?: BufferEncoding): Promise<ReadStream>;
|
|
37
38
|
/**
|
|
38
39
|
* Write to file string or buffer
|
|
39
40
|
*/
|
|
40
41
|
write(path: string, data: string | Buffer, encoding: BufferEncoding): Promise<void>;
|
|
41
42
|
append(path: string, data: string | Buffer, encoding?: BufferEncoding): Promise<void>;
|
|
42
|
-
writeStream(path: string, encoding?: BufferEncoding): Promise<import("fs").WriteStream>;
|
|
43
|
+
writeStream(path: string, rStream?: BufferEncoding | ReadStream, encoding?: BufferEncoding): Promise<import("fs").WriteStream>;
|
|
43
44
|
/**
|
|
44
45
|
* Checks if file existst
|
|
45
46
|
* @param path - path to check
|
|
@@ -92,6 +93,7 @@ export declare class fsNative<T extends IFsLocalOptions> extends fs {
|
|
|
92
93
|
* @param path - path to directory
|
|
93
94
|
*/
|
|
94
95
|
list(path: string): Promise<string[]>;
|
|
96
|
+
unzip(path: string, destPath: string): Promise<void>;
|
|
95
97
|
zip(path: string, zName?: string): Promise<IZipResult>;
|
|
96
98
|
resolvePath(path: string): string;
|
|
97
99
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-provider.d.ts","sourceRoot":"","sources":["../../src/local-provider.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"local-provider.d.ts","sourceRoot":"","sources":["../../src/local-provider.ts"],"names":[],"mappings":";;AAEA,OAAO,EAA0E,UAAU,EAAE,MAAM,IAAI,CAAC;AAIxG,OAAO,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEzE,OAAO,EAAE,GAAG,EAAU,MAAM,qBAAqB,CAAC;AAKlD;;;;;;;;GAQG;AACH,qBAEa,QAAQ,CAAC,CAAC,SAAS,eAAe,CAAE,SAAQ,EAAE;IAYtC,OAAO,EAAE,CAAC;IAV7B,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC;IAEtB;;;OAGG;IACH,IAAW,IAAI,IAAI,MAAM,CAExB;gBAEkB,OAAO,EAAE,CAAC;IAIhB,OAAO;IAepB;;;;;;OAMG;IACU,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAWpD;;OAEG;IACU,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc;IAYlD,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc;IAIzD;;OAEG;IACU,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,cAAc;IAKnE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3F,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,EAAE,QAAQ,CAAC,EAAE,cAAc;IAIjG;;;OAGG;IACU,MAAM,CAAC,IAAI,EAAE,MAAM;IASnB,SAAS,CAAC,IAAI,EAAE,MAAM;IAInC;;;;OAIG;IACU,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAI5C;;OAEG;IACU,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAgBlD;;OAEG;IACU,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAIpD;;;;;OAKG;IACU,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO;IASpD;;;;;OAKG;IACU,EAAE,CAAC,IAAI,EAAE,MAAM;IAI5B;;;;;OAKG;IACU,KAAK,CAAC,IAAI,EAAE,MAAM;IAI/B;;OAEG;IACU,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAaxC,OAAO,IAAI,MAAM;IAIxB;;;;OAIG;IACU,IAAI,CAAC,IAAI,EAAE,MAAM;IAIjB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAUpC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAsC5D,WAAW,CAAC,IAAI,EAAE,MAAM;CAOhC"}
|
|
@@ -23,6 +23,7 @@ const interfaces_js_1 = require("./interfaces.js");
|
|
|
23
23
|
const path_1 = require("path");
|
|
24
24
|
const log_common_1 = require("@spinajs/log-common");
|
|
25
25
|
const archiver_1 = __importDefault(require("archiver"));
|
|
26
|
+
const unzipper_1 = __importDefault(require("unzipper"));
|
|
26
27
|
/**
|
|
27
28
|
* Abstract layer for file operations.
|
|
28
29
|
* Basic implementation is just wrapper for native node fs functions
|
|
@@ -98,8 +99,8 @@ let fsNative = class fsNative extends interfaces_js_1.fs {
|
|
|
98
99
|
async append(path, data, encoding) {
|
|
99
100
|
await (0, promises_1.appendFile)(path, data, encoding);
|
|
100
101
|
}
|
|
101
|
-
writeStream(path, encoding) {
|
|
102
|
-
return Promise.resolve((0, fs_1.createWriteStream)(this.resolvePath(path), { encoding: encoding ?? 'binary' }));
|
|
102
|
+
writeStream(path, rStream, encoding) {
|
|
103
|
+
return Promise.resolve((0, fs_1.createWriteStream)(this.resolvePath(path), { encoding: (typeof rStream === 'string' ? rStream : encoding) ?? 'binary' }));
|
|
103
104
|
}
|
|
104
105
|
/**
|
|
105
106
|
* Checks if file existst
|
|
@@ -207,8 +208,16 @@ let fsNative = class fsNative extends interfaces_js_1.fs {
|
|
|
207
208
|
async list(path) {
|
|
208
209
|
return await (0, promises_1.readdir)(this.resolvePath(path));
|
|
209
210
|
}
|
|
211
|
+
async unzip(path, destPath) {
|
|
212
|
+
return new Promise((resolve, reject) => {
|
|
213
|
+
(0, fs_1.createReadStream)(this.resolvePath(path)).pipe(unzipper_1.default.Extract({
|
|
214
|
+
path: this.resolvePath(destPath)
|
|
215
|
+
}).on('close', resolve).on('error', reject));
|
|
216
|
+
});
|
|
217
|
+
}
|
|
210
218
|
async zip(path, zName) {
|
|
211
|
-
const
|
|
219
|
+
const fs = await di_1.DI.resolve('__file_provider__', ['fs-temp']);
|
|
220
|
+
const outFile = fs.resolvePath(fs.tmpname() + '.zip');
|
|
212
221
|
const output = (0, fs_1.createWriteStream)(outFile);
|
|
213
222
|
const pStat = await this.stat(path);
|
|
214
223
|
const fPath = this.resolvePath(path);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-provider.js","sourceRoot":"","sources":["../../src/local-provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4DAA4D;AAC5D,oDAA6C;AAC7C,
|
|
1
|
+
{"version":3,"file":"local-provider.js","sourceRoot":"","sources":["../../src/local-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-temp-provider.d.ts","sourceRoot":"","sources":["../../src/local-temp-provider.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"local-temp-provider.d.ts","sourceRoot":"","sources":["../../src/local-temp-provider.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAI/C;;;;;GAKG;AACH,qBACa,YAAa,SAAQ,QAAQ,CAAC,mBAAmB,CAAC;IAC7D;;OAEG;IACH,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC;gBAEzB,OAAO,EAAE,mBAAmB;IAI3B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAMxB,OAAO;CA6BrB"}
|
|
@@ -1,15 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
2
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
12
|
exports.fsNativeTemp = void 0;
|
|
4
13
|
const local_provider_js_1 = require("./local-provider.js");
|
|
5
14
|
const luxon_1 = require("luxon");
|
|
15
|
+
const di_1 = require("@spinajs/di");
|
|
6
16
|
/**
|
|
7
17
|
* Native temp filesystem. Use it for creating and storing temporary files and dirs.
|
|
8
18
|
*
|
|
9
19
|
* It will automatically delete old files. It does not check fieles recursive in subdirectories.
|
|
10
20
|
* It only check for file/dir age at first level.
|
|
11
21
|
*/
|
|
12
|
-
class fsNativeTemp extends local_provider_js_1.fsNative {
|
|
22
|
+
let fsNativeTemp = class fsNativeTemp extends local_provider_js_1.fsNative {
|
|
13
23
|
constructor(options) {
|
|
14
24
|
super(options);
|
|
15
25
|
}
|
|
@@ -30,12 +40,16 @@ class fsNativeTemp extends local_provider_js_1.fsNative {
|
|
|
30
40
|
const stat = await this.stat(f);
|
|
31
41
|
const timeDiff = stat.CreationTime.diff(today, 'seconds');
|
|
32
42
|
if (Math.abs(timeDiff.seconds) > this.Options.cleanupInterval) {
|
|
33
|
-
this.Logger.trace(`Temp file at path ${f} is older than ${this.Options.cleanupInterval} ( CreatedAt: ${stat.CreationTime.toFormat('dd/MM/yyyy HH:mm:ss')} ), deleting...`);
|
|
43
|
+
this.Logger.trace(`Temp file at path ${f} is older than ${this.Options.cleanupInterval} seconds, ( CreatedAt: ${stat.CreationTime.toFormat('dd/MM/yyyy HH:mm:ss')} ), deleting...`);
|
|
34
44
|
await this.rm(f);
|
|
35
45
|
}
|
|
36
46
|
}
|
|
37
47
|
}, this.Options.cleanupInterval || 10 * 60 * 1000);
|
|
38
48
|
}
|
|
39
|
-
}
|
|
49
|
+
};
|
|
50
|
+
fsNativeTemp = __decorate([
|
|
51
|
+
(0, di_1.Injectable)('fs'),
|
|
52
|
+
__metadata("design:paramtypes", [Object])
|
|
53
|
+
], fsNativeTemp);
|
|
40
54
|
exports.fsNativeTemp = fsNativeTemp;
|
|
41
55
|
//# sourceMappingURL=local-temp-provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-temp-provider.js","sourceRoot":"","sources":["../../src/local-temp-provider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"local-temp-provider.js","sourceRoot":"","sources":["../../src/local-temp-provider.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,2DAA+C;AAC/C,iCAAiC;AACjC,oCAAyC;AAEzC;;;;;GAKG;AAEI,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,4BAA6B;IAM7D,YAAY,OAA4B;QACtC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAClC;IACH,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;QAEtB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,sCAAsC,IAAI,CAAC,OAAO,CAAC,IAAI,+FAA+F,CACvJ,CAAC;SACH;QAED,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;YACzC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,KAAK,GAAG,gBAAQ,CAAC,GAAG,EAAE,CAAC;YAE7B,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;gBACrB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;gBAE1D,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;oBAC7D,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,qBAAqB,CAAC,kBACpB,IAAI,CAAC,OAAO,CAAC,eACf,0BAA0B,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,qBAAqB,CAAC,iBAAiB,CAC7F,CAAC;oBAEF,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;iBAClB;aACF;QACH,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IACrD,CAAC;CACF,CAAA;AA7CY,YAAY;IADxB,IAAA,eAAU,EAAC,IAAI,CAAC;;GACJ,YAAY,CA6CxB;AA7CY,oCAAY"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-hasher.d.ts","sourceRoot":"","sources":["../../src/file-hasher.ts"],"names":[],"mappings":";AACA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAG5B,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,qBACa,iBAAkB,SAAQ,UAAU;IAC/C,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC;;IAQnB,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAYvD"}
|
|
@@ -17,9 +17,9 @@ let DefaultFileHasher = class DefaultFileHasher extends FileHasher {
|
|
|
17
17
|
super();
|
|
18
18
|
this.HashAlgo = crypto.createHash('sha256');
|
|
19
19
|
}
|
|
20
|
-
hash(pathToFile) {
|
|
20
|
+
async hash(pathToFile) {
|
|
21
21
|
if (!fs.existsSync(pathToFile)) {
|
|
22
|
-
throw new IOFail(`File ${pathToFile} not exists
|
|
22
|
+
throw new IOFail(`File ${pathToFile} not exists`);
|
|
23
23
|
}
|
|
24
24
|
return new Promise((resolve, reject) => {
|
|
25
25
|
fs.createReadStream(pathToFile)
|
|
@@ -34,4 +34,4 @@ DefaultFileHasher = __decorate([
|
|
|
34
34
|
__metadata("design:paramtypes", [])
|
|
35
35
|
], DefaultFileHasher);
|
|
36
36
|
export { DefaultFileHasher };
|
|
37
|
-
//# sourceMappingURL=
|
|
37
|
+
//# sourceMappingURL=file-hasher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-hasher.js","sourceRoot":"","sources":["../../src/file-hasher.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGtC,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,UAAU;IAG/C;QACE,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,UAAkB;QAClC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;YAC9B,MAAM,IAAI,MAAM,CAAC,QAAQ,UAAU,aAAa,CAAC,CAAC;SACnD;QAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,EAAE,CAAC,gBAAgB,CAAC,UAAU,CAAC;iBAC5B,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;iBAChD,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;iBACrD,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AArBY,iBAAiB;IAD7B,UAAU,CAAC,UAAU,CAAC;;GACV,iBAAiB,CAqB7B;SArBY,iBAAiB"}
|
package/lib/mjs/file-info.d.ts
CHANGED
|
@@ -3,6 +3,9 @@ import { FileInfoService, IFileInfo } from './interfaces.js';
|
|
|
3
3
|
export declare class DefaultFileInfo extends FileInfoService {
|
|
4
4
|
protected Log: Log;
|
|
5
5
|
getInfo(pathToFile: string): Promise<IFileInfo>;
|
|
6
|
-
protected
|
|
6
|
+
protected spawnExifProcess(file: string): Promise<string>;
|
|
7
|
+
protected getMetadata(file: string): Promise<{
|
|
8
|
+
[key: string]: string | number;
|
|
9
|
+
}>;
|
|
7
10
|
}
|
|
8
11
|
//# sourceMappingURL=file-info.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-info.d.ts","sourceRoot":"","sources":["../../src/file-info.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"file-info.d.ts","sourceRoot":"","sources":["../../src/file-info.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAU,MAAM,cAAc,CAAC;AAG3C,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AA2C7D,qBACa,eAAgB,SAAQ,eAAe;IAElD,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAEN,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;cAqB5C,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;cAa/C,WAAW,CAAC,IAAI,EAAE,MAAM;;;CAsCzC"}
|