@spinajs/fs 2.0.171 → 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.
Files changed (51) hide show
  1. package/lib/cjs/{fs-hasher.d.ts → file-hasher.d.ts} +1 -1
  2. package/lib/cjs/file-hasher.d.ts.map +1 -0
  3. package/lib/cjs/{fs-hasher.js → file-hasher.js} +3 -3
  4. package/lib/cjs/file-hasher.js.map +1 -0
  5. package/lib/cjs/file-info.d.ts +4 -1
  6. package/lib/cjs/file-info.d.ts.map +1 -1
  7. package/lib/cjs/file-info.js +70 -36
  8. package/lib/cjs/file-info.js.map +1 -1
  9. package/lib/cjs/index.d.ts +2 -1
  10. package/lib/cjs/index.d.ts.map +1 -1
  11. package/lib/cjs/index.js +2 -1
  12. package/lib/cjs/index.js.map +1 -1
  13. package/lib/cjs/interfaces.d.ts +23 -9
  14. package/lib/cjs/interfaces.d.ts.map +1 -1
  15. package/lib/cjs/interfaces.js.map +1 -1
  16. package/lib/cjs/local-provider.d.ts +4 -2
  17. package/lib/cjs/local-provider.d.ts.map +1 -1
  18. package/lib/cjs/local-provider.js +12 -3
  19. package/lib/cjs/local-provider.js.map +1 -1
  20. package/lib/cjs/local-temp-provider.d.ts.map +1 -1
  21. package/lib/cjs/local-temp-provider.js +17 -3
  22. package/lib/cjs/local-temp-provider.js.map +1 -1
  23. package/lib/mjs/{fs-hasher.d.ts → file-hasher.d.ts} +1 -1
  24. package/lib/mjs/file-hasher.d.ts.map +1 -0
  25. package/lib/mjs/{fs-hasher.js → file-hasher.js} +3 -3
  26. package/lib/mjs/file-hasher.js.map +1 -0
  27. package/lib/mjs/file-info.d.ts +4 -1
  28. package/lib/mjs/file-info.d.ts.map +1 -1
  29. package/lib/mjs/file-info.js +70 -33
  30. package/lib/mjs/file-info.js.map +1 -1
  31. package/lib/mjs/index.d.ts +2 -1
  32. package/lib/mjs/index.d.ts.map +1 -1
  33. package/lib/mjs/index.js +2 -1
  34. package/lib/mjs/index.js.map +1 -1
  35. package/lib/mjs/interfaces.d.ts +23 -9
  36. package/lib/mjs/interfaces.d.ts.map +1 -1
  37. package/lib/mjs/interfaces.js.map +1 -1
  38. package/lib/mjs/local-provider.d.ts +4 -2
  39. package/lib/mjs/local-provider.d.ts.map +1 -1
  40. package/lib/mjs/local-provider.js +13 -4
  41. package/lib/mjs/local-provider.js.map +1 -1
  42. package/lib/mjs/local-temp-provider.d.ts.map +1 -1
  43. package/lib/mjs/local-temp-provider.js +18 -3
  44. package/lib/mjs/local-temp-provider.js.map +1 -1
  45. package/lib/tsconfig.cjs.tsbuildinfo +1 -1
  46. package/lib/tsconfig.mjs.tsbuildinfo +1 -1
  47. package/package.json +6 -4
  48. package/lib/cjs/fs-hasher.d.ts.map +0 -1
  49. package/lib/cjs/fs-hasher.js.map +0 -1
  50. package/lib/mjs/fs-hasher.d.ts.map +0 -1
  51. package/lib/mjs/fs-hasher.js.map +0 -1
@@ -6,4 +6,4 @@ export declare class DefaultFileHasher extends FileHasher {
6
6
  constructor();
7
7
  hash(pathToFile: string): Promise<string>;
8
8
  }
9
- //# sourceMappingURL=fs-hasher.d.ts.map
9
+ //# sourceMappingURL=file-hasher.d.ts.map
@@ -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 locally`);
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=fs-hasher.js.map
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"}
@@ -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 getMetadata(file: string): Promise<unknown>;
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":"AACA,OAAO,EAAE,GAAG,EAAU,MAAM,cAAc,CAAC;AAI3C,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAiB7D,qBACa,eAAgB,SAAQ,eAAe;IAElD,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAEN,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IA4B5D,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM;CAoBnC"}
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"}
@@ -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
- videoCodecName: 'Codec',
33
- videoCodec: 'Codec',
34
- compressorID: 'Compressor',
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
- fInfo[EXIFTOOL_MAPPINGS[key]] = metadata[key];
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
- getMetadata(file) {
61
- const _exifPromise = new Promise((resolve, reject) => {
62
- try {
63
- this.Log.trace(`Obtaining exif info of file at path ${file}...`);
64
- exiftool_1.default.metadata(file, (err, metadata) => {
65
- if (err || metadata.error) {
66
- this.Log.warn(`Exif info failed, reason: ${err.message ?? metadata.error}`);
67
- reject(err ?? metadata.error);
68
- }
69
- else {
70
- resolve(metadata);
71
- }
72
- });
73
- }
74
- catch (err) {
75
- reject(err);
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 _exifPromise;
112
+ return metaData;
79
113
  }
80
114
  };
81
115
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"file-info.js","sourceRoot":"","sources":["../../src/file-info.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oCAAyC;AACzC,sCAA2C;AAC3C,oDAA6C;AAC7C,2BAAgC;AAChC,wDAA4B;AAC5B,mDAA6D;AAE7D,MAAM,iBAAiB,GAAG;IACxB,WAAW,EAAE,QAAQ;IACrB,UAAU,EAAE,OAAO;IACnB,QAAQ,EAAE,UAAU;IACpB,YAAY,EAAE,UAAU;IACxB,UAAU,EAAE,YAAY;IACxB,SAAS,EAAE,WAAW;IACtB,cAAc,EAAE,WAAW;IAC3B,UAAU,EAAE,SAAS;IACrB,WAAW,EAAE,SAAS;IACtB,cAAc,EAAE,OAAO;IACvB,UAAU,EAAE,OAAO;IACnB,YAAY,EAAE,YAAY;CAC3B,CAAC;AAGK,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,+BAAe;IAI3C,KAAK,CAAC,OAAO,CAAC,UAAkB;QACrC,IAAI,CAAC,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE;YAC3B,MAAM,IAAI,mBAAM,CAAC,QAAQ,UAAU,aAAa,CAAC,CAAC;SACnD;QAED,MAAM,KAAK,GAAc;YACvB,IAAI,EAAE,CAAC;YACP,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,CAAC;YAER,QAAQ,EAAE,CAAC;YACX,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;YACV,KAAK,EAAE,IAAI;YACX,UAAU,EAAE,IAAI;SACjB,CAAC;QAEF,MAAM,QAAQ,GAAQ,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAEzD,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE;YACnC,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE;gBAChB,KAAa,CAAE,iBAAyB,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;aACjE;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAES,WAAW,CAAC,IAAY;QAChC,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnD,IAAI;gBACF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,uCAAuC,IAAI,KAAK,CAAC,CAAC;gBAEjE,kBAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAU,EAAE,QAAa,EAAE,EAAE;oBAChD,IAAI,GAAG,IAAI,QAAQ,CAAC,KAAK,EAAE;wBACzB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,6BAA6B,GAAG,CAAC,OAAO,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;wBAC5E,MAAM,CAAC,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;qBAC/B;yBAAM;wBACL,OAAO,CAAC,QAAQ,CAAC,CAAC;qBACnB;gBACH,CAAC,CAAC,CAAC;aACJ;YAAC,OAAO,GAAG,EAAE;gBACZ,MAAM,CAAC,GAAG,CAAC,CAAC;aACb;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,YAAY,CAAC;IACtB,CAAC;CACF,CAAA;AAnDC;IAAC,IAAA,YAAM,EAAC,IAAI,CAAC;8BACE,SAAG;4CAAC;AAFR,eAAe;IAD3B,IAAA,eAAU,EAAC,+BAAe,CAAC;GACf,eAAe,CAoD3B;AApDY,0CAAe"}
1
+ {"version":3,"file":"file-info.js","sourceRoot":"","sources":["../../src/file-info.ts"],"names":[],"mappings":"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"}
@@ -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 './fs-hasher.js';
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;
@@ -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,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAE/B,qBACa,aAAc,SAAQ,YAAY;IACtC,SAAS,IAAI,IAAI;CAyCzB"}
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("./fs-hasher.js"), exports);
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() {
@@ -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,iDAA+B;AAC/B,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"}
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"}
@@ -26,15 +26,21 @@ export interface IFileInfo {
26
26
  /**
27
27
  * Size in bytes
28
28
  */
29
- Size: number;
30
- Height: number;
31
- Width: number;
32
- Duration: number;
33
- FrameCount: number;
34
- FrameRate: number;
35
- Bitrate: number;
36
- Codec: string;
37
- Compressor: string;
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":"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"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAC5D,oCAA6E;AAI7E,+BAAoC;AA6EpC,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;IAiDM,OAAO;QACZ,OAAO,IAAA,SAAM,GAAE,CAAC;IAClB,CAAC;CACF;AA7DD,gBA6DC;AAED;;;GAGG;AACH,MAAsB,eAAe;CAEpC;AAFD,0CAEC;AAED;;GAEG;AACH,MAAsB,UAAU;CAE/B;AAFD,gCAEC"}
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<import("fs").ReadStream>;
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":";;AAMA,OAAO,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEzE,OAAO,EAAE,GAAG,EAAU,MAAM,qBAAqB,CAAC;AAIlD;;;;;;;;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,QAAQ,CAAC,EAAE,cAAc;IAI1D;;;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,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAmC5D,WAAW,CAAC,IAAI,EAAE,MAAM;CAOhC"}
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 outFile = this.resolvePath(this.tmpname() + '.zip');
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":"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"}
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;AAG/C;;;;;GAKG;AACH,qBAAa,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
+ {"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":";;;AACA,2DAA+C;AAC/C,iCAAiC;AAEjC;;;;;GAKG;AACH,MAAa,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,iBAAiB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,qBAAqB,CAAC,iBAAiB,CACpF,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;AA7CD,oCA6CC"}
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"}
@@ -6,4 +6,4 @@ export declare class DefaultFileHasher extends FileHasher {
6
6
  constructor();
7
7
  hash(pathToFile: string): Promise<string>;
8
8
  }
9
- //# sourceMappingURL=fs-hasher.d.ts.map
9
+ //# sourceMappingURL=file-hasher.d.ts.map
@@ -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 locally`);
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=fs-hasher.js.map
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"}
@@ -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 getMetadata(file: string): Promise<unknown>;
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":"AACA,OAAO,EAAE,GAAG,EAAU,MAAM,cAAc,CAAC;AAI3C,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAiB7D,qBACa,eAAgB,SAAQ,eAAe;IAElD,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAEN,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IA4B5D,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM;CAoBnC"}
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"}