@spinajs/fs 2.0.170 → 2.0.172
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/file-hasher.d.ts +9 -0
- package/lib/cjs/file-hasher.d.ts.map +1 -0
- package/lib/cjs/file-hasher.js +43 -0
- package/lib/cjs/file-hasher.js.map +1 -0
- package/lib/cjs/file-info.d.ts +11 -0
- package/lib/cjs/file-info.d.ts.map +1 -0
- package/lib/cjs/file-info.js +123 -0
- package/lib/cjs/file-info.js.map +1 -0
- package/lib/cjs/index.d.ts +3 -0
- package/lib/cjs/index.d.ts.map +1 -1
- package/lib/cjs/index.js +4 -1
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/interfaces.d.ts +41 -0
- package/lib/cjs/interfaces.d.ts.map +1 -1
- package/lib/cjs/interfaces.js +14 -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/file-hasher.d.ts +9 -0
- package/lib/mjs/file-hasher.d.ts.map +1 -0
- package/lib/mjs/file-hasher.js +37 -0
- package/lib/mjs/file-hasher.js.map +1 -0
- package/lib/mjs/file-info.d.ts +11 -0
- package/lib/mjs/file-info.d.ts.map +1 -0
- package/lib/mjs/file-info.js +120 -0
- package/lib/mjs/file-info.js.map +1 -0
- package/lib/mjs/index.d.ts +3 -0
- package/lib/mjs/index.d.ts.map +1 -1
- package/lib/mjs/index.js +4 -1
- package/lib/mjs/index.js.map +1 -1
- package/lib/mjs/interfaces.d.ts +41 -0
- package/lib/mjs/interfaces.d.ts.map +1 -1
- package/lib/mjs/interfaces.js +11 -0
- 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 +12 -11
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
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;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { spawn } from "node:child_process";
|
|
11
|
+
import { Injectable } from '@spinajs/di';
|
|
12
|
+
import { Log, Logger } from '@spinajs/log';
|
|
13
|
+
import { IOFail } from '@spinajs/exceptions';
|
|
14
|
+
import { existsSync } from 'fs';
|
|
15
|
+
import { FileInfoService } from './interfaces.js';
|
|
16
|
+
import { DateTime } from "luxon";
|
|
17
|
+
const EXIFTOOL_MAPPINGS = {
|
|
18
|
+
audioChannels: "AudioChannels",
|
|
19
|
+
imageHeight: 'Height',
|
|
20
|
+
imageWidth: 'Width',
|
|
21
|
+
duration: 'Duration',
|
|
22
|
+
playDuration: 'Duration',
|
|
23
|
+
frameCount: 'FrameCount',
|
|
24
|
+
frameRate: 'FrameRate',
|
|
25
|
+
videoFrameRate: 'FrameRate',
|
|
26
|
+
maxBitrate: 'Bitrate',
|
|
27
|
+
maxDataRate: 'Bitrate',
|
|
28
|
+
avgBitrate: 'Bitrate',
|
|
29
|
+
compressorID: 'Codec',
|
|
30
|
+
fileSize: ["FileSize", (val) => (parseInt(val))],
|
|
31
|
+
'fileAccessDate/Time': ["AccessDate", (val) => { return DateTime.fromFormat(val, "yyyy:MM:dd HH:mm:ssZZ"); }],
|
|
32
|
+
'fileCreationDate/Time': ["CreationDate", (val) => { return DateTime.fromFormat(val, "yyyy:MM:dd HH:mm:ssZZ"); }],
|
|
33
|
+
'fileModificationDate/Time': ["ModificationDate", (val) => { return DateTime.fromFormat(val, "yyyy:MM:dd HH:mm:ssZZ"); }],
|
|
34
|
+
mimeType: "MimeType",
|
|
35
|
+
mimeEncoding: "Encoding",
|
|
36
|
+
wordCount: "WordCount",
|
|
37
|
+
lineCount: "LineCount"
|
|
38
|
+
};
|
|
39
|
+
function _fInfoInit() {
|
|
40
|
+
return {
|
|
41
|
+
FileSize: 0,
|
|
42
|
+
Height: 0,
|
|
43
|
+
Width: 0,
|
|
44
|
+
Duration: 0,
|
|
45
|
+
FrameCount: 0,
|
|
46
|
+
FrameRate: 0,
|
|
47
|
+
Bitrate: 0,
|
|
48
|
+
Codec: null,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
let DefaultFileInfo = class DefaultFileInfo extends FileInfoService {
|
|
52
|
+
async getInfo(pathToFile) {
|
|
53
|
+
if (!existsSync(pathToFile)) {
|
|
54
|
+
throw new IOFail(`Path ${pathToFile} not exists`);
|
|
55
|
+
}
|
|
56
|
+
const fInfo = _fInfoInit();
|
|
57
|
+
const metadata = await this.getMetadata(pathToFile);
|
|
58
|
+
for (const key in EXIFTOOL_MAPPINGS) {
|
|
59
|
+
if (metadata[key]) {
|
|
60
|
+
const mKey = EXIFTOOL_MAPPINGS[key];
|
|
61
|
+
if (Array.isArray(mKey)) {
|
|
62
|
+
fInfo[mKey[0]] = mKey[1](metadata[key]);
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
fInfo[EXIFTOOL_MAPPINGS[key]] = metadata[key];
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return fInfo;
|
|
70
|
+
}
|
|
71
|
+
async spawnExifProcess(file) {
|
|
72
|
+
return new Promise((resolve, reject) => {
|
|
73
|
+
const process = spawn("exiftool", [file, "-n"]);
|
|
74
|
+
let stdOutBuffer = "";
|
|
75
|
+
let stdErrBuffer = "";
|
|
76
|
+
process.on("error", (err) => (reject(err)));
|
|
77
|
+
process.on("close", () => (stdErrBuffer ? reject(stdErrBuffer) : resolve(stdOutBuffer)));
|
|
78
|
+
process.stdout.on("data", (data) => (stdOutBuffer += data.toString("utf-8")));
|
|
79
|
+
process.stderr.on("data", (data) => (stdErrBuffer += data.toString("utf-8")));
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
async getMetadata(file) {
|
|
83
|
+
const raw = await this.spawnExifProcess(file);
|
|
84
|
+
// Split the response into lines.
|
|
85
|
+
const response = raw.split("\n");
|
|
86
|
+
//For each line of the response extract the meta data into a nice associative array
|
|
87
|
+
const metaData = {};
|
|
88
|
+
response.forEach(function (responseLine) {
|
|
89
|
+
var pieces = responseLine.split(": ");
|
|
90
|
+
//Is this a line with a meta data pair on it?
|
|
91
|
+
if (pieces.length == 2) {
|
|
92
|
+
//Turn the plain text data key into a camel case key.
|
|
93
|
+
var key = pieces[0].trim().split(' ').map(function (tokenInKey, tokenNumber) {
|
|
94
|
+
if (tokenNumber === 0)
|
|
95
|
+
return tokenInKey.toLowerCase();
|
|
96
|
+
else
|
|
97
|
+
return tokenInKey[0].toUpperCase() + tokenInKey.slice(1);
|
|
98
|
+
}).join('');
|
|
99
|
+
//Trim the value associated with the key to make it nice.
|
|
100
|
+
var value = pieces[1].trim();
|
|
101
|
+
if (+value === +value) {
|
|
102
|
+
metaData[key] = parseFloat(value);
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
metaData[key] = value;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
return metaData;
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
__decorate([
|
|
113
|
+
Logger('fs'),
|
|
114
|
+
__metadata("design:type", Log)
|
|
115
|
+
], DefaultFileInfo.prototype, "Log", void 0);
|
|
116
|
+
DefaultFileInfo = __decorate([
|
|
117
|
+
Injectable(FileInfoService)
|
|
118
|
+
], DefaultFileInfo);
|
|
119
|
+
export { DefaultFileInfo };
|
|
120
|
+
//# sourceMappingURL=file-info.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-info.js","sourceRoot":"","sources":["../../src/file-info.ts"],"names":[],"mappings":"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"}
|
package/lib/mjs/index.d.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
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';
|
|
6
|
+
export * from './file-hasher.js';
|
|
7
|
+
export * from './file-info.js';
|
|
5
8
|
export declare class FsBootsrapper extends Bootstrapper {
|
|
6
9
|
bootstrap(): void;
|
|
7
10
|
}
|
package/lib/mjs/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;
|
|
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/mjs/index.js
CHANGED
|
@@ -10,7 +10,10 @@ import { Injectable, Bootstrapper, DI } from '@spinajs/di';
|
|
|
10
10
|
import { fs } from './interfaces.js';
|
|
11
11
|
export * from './interfaces.js';
|
|
12
12
|
export * from './local-provider.js';
|
|
13
|
+
export * from './local-temp-provider.js';
|
|
13
14
|
export * from './decorators.js';
|
|
15
|
+
export * from './file-hasher.js';
|
|
16
|
+
export * from './file-info.js';
|
|
14
17
|
let FsBootsrapper = class FsBootsrapper extends Bootstrapper {
|
|
15
18
|
bootstrap() {
|
|
16
19
|
DI.once('di.resolved.Configuration', (container) => {
|
|
@@ -24,7 +27,7 @@ let FsBootsrapper = class FsBootsrapper extends Bootstrapper {
|
|
|
24
27
|
// when name is the same, addes last is created
|
|
25
28
|
// eg fs-temp can have default config from package
|
|
26
29
|
// but is overriden in application
|
|
27
|
-
cfg.providers.forEach(x => {
|
|
30
|
+
cfg.providers.forEach((x) => {
|
|
28
31
|
providers.set(x.name, x);
|
|
29
32
|
});
|
|
30
33
|
const rProviders = DI.RootContainer.Registry.getTypes(fs);
|
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,aAAa,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,EAAc,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,EAAE,EAA4C,MAAM,iBAAiB,CAAC;AAE/E,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,EAAc,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,EAAE,EAA4C,MAAM,iBAAiB,CAAC;AAE/E,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAGxB,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,YAAY;IACtC,SAAS;QACd,EAAE,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,SAAqB,EAAE,EAAE;YAC7D,MAAM,GAAG,GAAqB,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,GAAG,CAAmB,IAAI,CAAC,CAAC;YAEvF,MAAM,eAAe,GAAG,GAAG,CAAC,eAAe,CAAC;YAE5C,IAAI,CAAC,eAAe,EAAE;gBACpB,MAAM,IAAI,oBAAoB,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,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,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,gBAAgB,CACxB,QAAQ,SAAS,CAAC,KAAK,CAAC,OAAO,4DAA4D,CAC5F,CAAC;iBACH;gBAED,EAAE,CAAC,OAAO,CAAK,IAAI,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAU,EAAE,EAAE;oBAC1D,EAAE,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,EAAE,CAAC,QAAQ,CAAC,CAAC,UAAsB,EAAE,IAAa,EAAE,EAAE;YACpD,MAAM,QAAQ,GAAG,EAAE,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,UAAU,CAAC,YAAY,CAAC;GACZ,aAAa,CA0CzB;SA1CY,aAAa"}
|
package/lib/mjs/interfaces.d.ts
CHANGED
|
@@ -22,6 +22,26 @@ export interface IStat {
|
|
|
22
22
|
CreationTime?: DateTime;
|
|
23
23
|
AdditionalData?: unknown;
|
|
24
24
|
}
|
|
25
|
+
export interface IFileInfo {
|
|
26
|
+
/**
|
|
27
|
+
* Size in bytes
|
|
28
|
+
*/
|
|
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;
|
|
44
|
+
}
|
|
25
45
|
export interface IFsLocalOptions {
|
|
26
46
|
/**
|
|
27
47
|
* Full path to local directory where files are hold.
|
|
@@ -81,6 +101,7 @@ export declare abstract class fs extends AsyncService implements IMappableServic
|
|
|
81
101
|
abstract readStream(path: string, encoding?: BufferEncoding): Promise<ReadStream>;
|
|
82
102
|
abstract write(path: string, data: string | Buffer, encoding?: BufferEncoding): Promise<void>;
|
|
83
103
|
abstract writeStream(path: string, encoding?: BufferEncoding): Promise<WriteStream | PassThrough>;
|
|
104
|
+
abstract writeStream(path: string, readStream: ReadStream, encoding?: BufferEncoding): Promise<WriteStream | PassThrough | void>;
|
|
84
105
|
abstract exists(path: string): Promise<boolean>;
|
|
85
106
|
abstract dirExists(path: string): Promise<boolean>;
|
|
86
107
|
abstract copy(path: string, dest: string): Promise<void>;
|
|
@@ -101,6 +122,26 @@ export declare abstract class fs extends AsyncService implements IMappableServic
|
|
|
101
122
|
* @param path - path to zip
|
|
102
123
|
*/
|
|
103
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>;
|
|
104
132
|
tmpname(): string;
|
|
105
133
|
}
|
|
134
|
+
/**
|
|
135
|
+
* File information service, obtain file props, metadata etc.
|
|
136
|
+
* Eg. movie resolution, image, codec etc. if possible
|
|
137
|
+
*/
|
|
138
|
+
export declare abstract class FileInfoService {
|
|
139
|
+
abstract getInfo(pathToFile: string): Promise<IFileInfo>;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* File hasher, to create unique hash for file
|
|
143
|
+
*/
|
|
144
|
+
export declare abstract class FileHasher {
|
|
145
|
+
abstract hash(pathToFile: string): Promise<string>;
|
|
146
|
+
}
|
|
106
147
|
//# 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,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,eAAe;IAC9B;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,mBAAoB,SAAQ,eAAe;
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
|
package/lib/mjs/interfaces.js
CHANGED
|
@@ -14,4 +14,15 @@ export class fs extends AsyncService {
|
|
|
14
14
|
return uuidv4();
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* File information service, obtain file props, metadata etc.
|
|
19
|
+
* Eg. movie resolution, image, codec etc. if possible
|
|
20
|
+
*/
|
|
21
|
+
export class FileInfoService {
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* File hasher, to create unique hash for file
|
|
25
|
+
*/
|
|
26
|
+
export class FileHasher {
|
|
27
|
+
}
|
|
17
28
|
//# sourceMappingURL=interfaces.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,OAAO,EAAE,YAAY,EAAoC,MAAM,aAAa,CAAC;AAI7E,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,OAAO,EAAE,YAAY,EAAoC,MAAM,aAAa,CAAC;AAI7E,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAsFpC,MAAM,OAAgB,EAAG,SAAQ,YAAY;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,MAAM,EAAE,CAAC;IAClB,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAgB,eAAe;CAEpC;AAED;;GAEG;AACH,MAAM,OAAgB,UAAU;CAE/B"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
2
|
/// <reference types="node" resolution-mode="require"/>
|
|
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"}
|
|
@@ -12,11 +12,12 @@ import { IOFail } from '@spinajs/exceptions';
|
|
|
12
12
|
import { constants, createReadStream, createWriteStream, readFile, readFileSync } from 'fs';
|
|
13
13
|
import { unlink, rm, stat, readdir, rename, mkdir, copyFile, access, open, appendFile } from 'node:fs/promises';
|
|
14
14
|
import { DateTime } from 'luxon';
|
|
15
|
-
import { Injectable, PerInstanceCheck } from '@spinajs/di';
|
|
15
|
+
import { DI, Injectable, PerInstanceCheck } from '@spinajs/di';
|
|
16
16
|
import { fs } from './interfaces.js';
|
|
17
17
|
import { basename, join } from 'path';
|
|
18
18
|
import { Log, Logger } from '@spinajs/log-common';
|
|
19
19
|
import archiver from 'archiver';
|
|
20
|
+
import unzipper from 'unzipper';
|
|
20
21
|
/**
|
|
21
22
|
* Abstract layer for file operations.
|
|
22
23
|
* Basic implementation is just wrapper for native node fs functions
|
|
@@ -92,8 +93,8 @@ let fsNative = class fsNative extends fs {
|
|
|
92
93
|
async append(path, data, encoding) {
|
|
93
94
|
await appendFile(path, data, encoding);
|
|
94
95
|
}
|
|
95
|
-
writeStream(path, encoding) {
|
|
96
|
-
return Promise.resolve(createWriteStream(this.resolvePath(path), { encoding: encoding ?? 'binary' }));
|
|
96
|
+
writeStream(path, rStream, encoding) {
|
|
97
|
+
return Promise.resolve(createWriteStream(this.resolvePath(path), { encoding: (typeof rStream === 'string' ? rStream : encoding) ?? 'binary' }));
|
|
97
98
|
}
|
|
98
99
|
/**
|
|
99
100
|
* Checks if file existst
|
|
@@ -201,8 +202,16 @@ let fsNative = class fsNative extends fs {
|
|
|
201
202
|
async list(path) {
|
|
202
203
|
return await readdir(this.resolvePath(path));
|
|
203
204
|
}
|
|
205
|
+
async unzip(path, destPath) {
|
|
206
|
+
return new Promise((resolve, reject) => {
|
|
207
|
+
createReadStream(this.resolvePath(path)).pipe(unzipper.Extract({
|
|
208
|
+
path: this.resolvePath(destPath)
|
|
209
|
+
}).on('close', resolve).on('error', reject));
|
|
210
|
+
});
|
|
211
|
+
}
|
|
204
212
|
async zip(path, zName) {
|
|
205
|
-
const
|
|
213
|
+
const fs = await DI.resolve('__file_provider__', ['fs-temp']);
|
|
214
|
+
const outFile = fs.resolvePath(fs.tmpname() + '.zip');
|
|
206
215
|
const output = createWriteStream(outFile);
|
|
207
216
|
const pStat = await this.stat(path);
|
|
208
217
|
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,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,YAAY,
|
|
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,12 +1,22 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
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;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
1
10
|
import { fsNative } from './local-provider.js';
|
|
2
11
|
import { DateTime } from 'luxon';
|
|
12
|
+
import { Injectable } from '@spinajs/di';
|
|
3
13
|
/**
|
|
4
14
|
* Native temp filesystem. Use it for creating and storing temporary files and dirs.
|
|
5
15
|
*
|
|
6
16
|
* It will automatically delete old files. It does not check fieles recursive in subdirectories.
|
|
7
17
|
* It only check for file/dir age at first level.
|
|
8
18
|
*/
|
|
9
|
-
|
|
19
|
+
let fsNativeTemp = class fsNativeTemp extends fsNative {
|
|
10
20
|
constructor(options) {
|
|
11
21
|
super(options);
|
|
12
22
|
}
|
|
@@ -27,11 +37,16 @@ export class fsNativeTemp extends fsNative {
|
|
|
27
37
|
const stat = await this.stat(f);
|
|
28
38
|
const timeDiff = stat.CreationTime.diff(today, 'seconds');
|
|
29
39
|
if (Math.abs(timeDiff.seconds) > this.Options.cleanupInterval) {
|
|
30
|
-
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...`);
|
|
40
|
+
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...`);
|
|
31
41
|
await this.rm(f);
|
|
32
42
|
}
|
|
33
43
|
}
|
|
34
44
|
}, this.Options.cleanupInterval || 10 * 60 * 1000);
|
|
35
45
|
}
|
|
36
|
-
}
|
|
46
|
+
};
|
|
47
|
+
fsNativeTemp = __decorate([
|
|
48
|
+
Injectable('fs'),
|
|
49
|
+
__metadata("design:paramtypes", [Object])
|
|
50
|
+
], fsNativeTemp);
|
|
51
|
+
export { fsNativeTemp };
|
|
37
52
|
//# 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":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"local-temp-provider.js","sourceRoot":"","sources":["../../src/local-temp-provider.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;;;;GAKG;AAEI,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,QAA6B;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,QAAQ,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,UAAU,CAAC,IAAI,CAAC;;GACJ,YAAY,CA6CxB;SA7CY,YAAY"}
|