@spinajs/fs 2.0.362 → 2.0.367
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/fp.d.ts +11 -0
- package/lib/cjs/fp.d.ts.map +1 -1
- package/lib/cjs/fp.js +45 -1
- package/lib/cjs/fp.js.map +1 -1
- package/lib/mjs/fp.d.ts +11 -0
- package/lib/mjs/fp.d.ts.map +1 -1
- package/lib/mjs/fp.js +41 -1
- package/lib/mjs/fp.js.map +1 -1
- package/lib/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/tsconfig.mjs.tsbuildinfo +1 -1
- package/package.json +11 -11
package/lib/cjs/fp.d.ts
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
/// <reference types="node" />
|
|
1
4
|
import { fs, IFileInfo } from './interfaces.js';
|
|
5
|
+
import { Abortable } from 'events';
|
|
2
6
|
/**
|
|
3
7
|
* Gets filesystem by its name
|
|
4
8
|
*
|
|
@@ -30,4 +34,11 @@ export declare function _fileInfo(path: string): Promise<IFileInfo>;
|
|
|
30
34
|
* @returns
|
|
31
35
|
*/
|
|
32
36
|
export declare function _file_hash(path: string): Promise<string>;
|
|
37
|
+
export declare function _exists(path: string): () => Promise<boolean>;
|
|
38
|
+
export declare function _is_of_type(path: string, extension: string): () => Promise<void>;
|
|
39
|
+
export declare function _is_of_mimetype(path: string, mimetype: string): () => Promise<void>;
|
|
40
|
+
export declare function _read_file(path: string, options?: ({
|
|
41
|
+
encoding?: null | undefined;
|
|
42
|
+
flag?: string | undefined;
|
|
43
|
+
} & Abortable) | undefined | null): () => Promise<Buffer>;
|
|
33
44
|
//# sourceMappingURL=fp.d.ts.map
|
package/lib/cjs/fp.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fp.d.ts","sourceRoot":"","sources":["../../src/fp.ts"],"names":[],"mappings":"AACA,OAAO,EAA+B,EAAE,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"fp.d.ts","sourceRoot":"","sources":["../../src/fp.ts"],"names":[],"mappings":";;;AACA,OAAO,EAA+B,EAAE,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI7E,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGnC;;;;;GAKG;AACH,wBAAgB,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAUrD;AAED;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,EAAE,oBAI3E;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,EAAE,oBAI3E;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAI1D;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIxD;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,0BAQnC;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,uBAO1D;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,uBAO7D;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAC7C,CAAC;IACD,QAAQ,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B,GAAG,SAAS,CAAC,GACZ,SAAS,GACT,IAAI,GAAI,MAAM,OAAO,CAAC,MAAM,CAAC,CAahC"}
|
package/lib/cjs/fp.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports._file_hash = exports._fileInfo = exports._unzip = exports._zip = exports._fs = void 0;
|
|
3
|
+
exports._read_file = exports._is_of_mimetype = exports._is_of_type = exports._exists = exports._file_hash = exports._fileInfo = exports._unzip = exports._zip = exports._fs = void 0;
|
|
4
4
|
const di_1 = require("@spinajs/di");
|
|
5
5
|
const interfaces_js_1 = require("./interfaces.js");
|
|
6
6
|
const util_1 = require("@spinajs/util");
|
|
7
|
+
const fs_1 = require("fs");
|
|
8
|
+
const file_type_1 = require("file-type");
|
|
9
|
+
const exceptions_1 = require("@spinajs/exceptions");
|
|
7
10
|
/**
|
|
8
11
|
* Gets filesystem by its name
|
|
9
12
|
*
|
|
@@ -64,4 +67,45 @@ function _file_hash(path) {
|
|
|
64
67
|
});
|
|
65
68
|
}
|
|
66
69
|
exports._file_hash = _file_hash;
|
|
70
|
+
function _exists(path) {
|
|
71
|
+
const p = (0, util_1._check_arg)((0, util_1._is_string)(), (0, util_1._trim)(), (0, util_1._non_empty)())(path, 'path');
|
|
72
|
+
return async () => (new Promise((resolve) => {
|
|
73
|
+
(0, fs_1.access)(p, fs_1.constants.F_OK, (error) => {
|
|
74
|
+
resolve(!error);
|
|
75
|
+
});
|
|
76
|
+
}));
|
|
77
|
+
}
|
|
78
|
+
exports._exists = _exists;
|
|
79
|
+
function _is_of_type(path, extension) {
|
|
80
|
+
return async () => {
|
|
81
|
+
const type = await (0, file_type_1.fileTypeFromFile)(path);
|
|
82
|
+
if (type.ext !== extension) {
|
|
83
|
+
throw new exceptions_1.IOFail(`File ${path} is invalid. Requested extension is ${extension}, file mime type is ${type.ext}`);
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
exports._is_of_type = _is_of_type;
|
|
88
|
+
function _is_of_mimetype(path, mimetype) {
|
|
89
|
+
return async () => {
|
|
90
|
+
const type = await (0, file_type_1.fileTypeFromFile)(path);
|
|
91
|
+
if (type.mime !== mimetype) {
|
|
92
|
+
throw new exceptions_1.IOFail(`File ${path} is invalid. Requested mime type is ${mimetype}, file mime type is ${type.mime}`);
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
exports._is_of_mimetype = _is_of_mimetype;
|
|
97
|
+
function _read_file(path, options) {
|
|
98
|
+
return () => (0, util_1._chain)(_exists(path), async () => {
|
|
99
|
+
return new Promise((resolve, reject) => {
|
|
100
|
+
(0, fs_1.readFile)(path, options, (error, data) => {
|
|
101
|
+
if (error) {
|
|
102
|
+
reject(error);
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
resolve(data);
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
exports._read_file = _read_file;
|
|
67
111
|
//# sourceMappingURL=fp.js.map
|
package/lib/cjs/fp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fp.js","sourceRoot":"","sources":["../../src/fp.ts"],"names":[],"mappings":";;;AAAA,oCAAuC;AACvC,mDAA6E;AAC7E,
|
|
1
|
+
{"version":3,"file":"fp.js","sourceRoot":"","sources":["../../src/fp.ts"],"names":[],"mappings":"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"}
|
package/lib/mjs/fp.d.ts
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
3
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
1
4
|
import { fs, IFileInfo } from './interfaces.js';
|
|
5
|
+
import { Abortable } from 'events';
|
|
2
6
|
/**
|
|
3
7
|
* Gets filesystem by its name
|
|
4
8
|
*
|
|
@@ -30,4 +34,11 @@ export declare function _fileInfo(path: string): Promise<IFileInfo>;
|
|
|
30
34
|
* @returns
|
|
31
35
|
*/
|
|
32
36
|
export declare function _file_hash(path: string): Promise<string>;
|
|
37
|
+
export declare function _exists(path: string): () => Promise<boolean>;
|
|
38
|
+
export declare function _is_of_type(path: string, extension: string): () => Promise<void>;
|
|
39
|
+
export declare function _is_of_mimetype(path: string, mimetype: string): () => Promise<void>;
|
|
40
|
+
export declare function _read_file(path: string, options?: ({
|
|
41
|
+
encoding?: null | undefined;
|
|
42
|
+
flag?: string | undefined;
|
|
43
|
+
} & Abortable) | undefined | null): () => Promise<Buffer>;
|
|
33
44
|
//# sourceMappingURL=fp.d.ts.map
|
package/lib/mjs/fp.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fp.d.ts","sourceRoot":"","sources":["../../src/fp.ts"],"names":[],"mappings":"AACA,OAAO,EAA+B,EAAE,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"fp.d.ts","sourceRoot":"","sources":["../../src/fp.ts"],"names":[],"mappings":";;;AACA,OAAO,EAA+B,EAAE,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI7E,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGnC;;;;;GAKG;AACH,wBAAgB,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAUrD;AAED;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,EAAE,oBAI3E;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,EAAE,oBAI3E;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAI1D;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIxD;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,0BAQnC;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,uBAO1D;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,uBAO7D;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAC7C,CAAC;IACD,QAAQ,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B,GAAG,SAAS,CAAC,GACZ,SAAS,GACT,IAAI,GAAI,MAAM,OAAO,CAAC,MAAM,CAAC,CAahC"}
|
package/lib/mjs/fp.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { _resolve } from '@spinajs/di';
|
|
2
2
|
import { FileHasher, FileInfoService, fs } from './interfaces.js';
|
|
3
|
-
import { _chain, _use } from '@spinajs/util';
|
|
3
|
+
import { _chain, _check_arg, _is_string, _non_empty, _trim, _use } from '@spinajs/util';
|
|
4
|
+
import { access, constants, readFile } from "fs";
|
|
5
|
+
import { fileTypeFromFile } from 'file-type';
|
|
6
|
+
import { IOFail } from '@spinajs/exceptions';
|
|
4
7
|
/**
|
|
5
8
|
* Gets filesystem by its name
|
|
6
9
|
*
|
|
@@ -56,4 +59,41 @@ export function _file_hash(path) {
|
|
|
56
59
|
return hash.hash(path);
|
|
57
60
|
});
|
|
58
61
|
}
|
|
62
|
+
export function _exists(path) {
|
|
63
|
+
const p = _check_arg(_is_string(), _trim(), _non_empty())(path, 'path');
|
|
64
|
+
return async () => (new Promise((resolve) => {
|
|
65
|
+
access(p, constants.F_OK, (error) => {
|
|
66
|
+
resolve(!error);
|
|
67
|
+
});
|
|
68
|
+
}));
|
|
69
|
+
}
|
|
70
|
+
export function _is_of_type(path, extension) {
|
|
71
|
+
return async () => {
|
|
72
|
+
const type = await fileTypeFromFile(path);
|
|
73
|
+
if (type.ext !== extension) {
|
|
74
|
+
throw new IOFail(`File ${path} is invalid. Requested extension is ${extension}, file mime type is ${type.ext}`);
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
export function _is_of_mimetype(path, mimetype) {
|
|
79
|
+
return async () => {
|
|
80
|
+
const type = await fileTypeFromFile(path);
|
|
81
|
+
if (type.mime !== mimetype) {
|
|
82
|
+
throw new IOFail(`File ${path} is invalid. Requested mime type is ${mimetype}, file mime type is ${type.mime}`);
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
export function _read_file(path, options) {
|
|
87
|
+
return () => _chain(_exists(path), async () => {
|
|
88
|
+
return new Promise((resolve, reject) => {
|
|
89
|
+
readFile(path, options, (error, data) => {
|
|
90
|
+
if (error) {
|
|
91
|
+
reject(error);
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
resolve(data);
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
}
|
|
59
99
|
//# sourceMappingURL=fp.js.map
|
package/lib/mjs/fp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fp.js","sourceRoot":"","sources":["../../src/fp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,EAAE,EAAa,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"fp.js","sourceRoot":"","sources":["../../src/fp.ts"],"names":[],"mappings":"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"}
|