@spinajs/fs 2.0.180 → 2.0.182

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 (73) hide show
  1. package/lib/cjs/cli/rm.d.ts +11 -11
  2. package/lib/cjs/cli/rm.js +28 -28
  3. package/lib/cjs/cli/rm.js.map +1 -1
  4. package/lib/cjs/cli/stat.d.ts +10 -10
  5. package/lib/cjs/cli/stat.js +26 -26
  6. package/lib/cjs/cli/stat.js.map +1 -1
  7. package/lib/cjs/config/fs.d.ts +33 -16
  8. package/lib/cjs/config/fs.d.ts.map +1 -1
  9. package/lib/cjs/config/fs.js +50 -36
  10. package/lib/cjs/config/fs.js.map +1 -1
  11. package/lib/cjs/decorators.d.ts +7 -7
  12. package/lib/cjs/decorators.js +23 -23
  13. package/lib/cjs/file-hasher.d.ts +12 -8
  14. package/lib/cjs/file-hasher.d.ts.map +1 -1
  15. package/lib/cjs/file-hasher.js +51 -42
  16. package/lib/cjs/file-hasher.js.map +1 -1
  17. package/lib/cjs/file-info.d.ts +10 -10
  18. package/lib/cjs/file-info.js +124 -124
  19. package/lib/cjs/file-info.js.map +1 -1
  20. package/lib/cjs/index.d.ts +10 -10
  21. package/lib/cjs/index.d.ts.map +1 -1
  22. package/lib/cjs/index.js +72 -71
  23. package/lib/cjs/index.js.map +1 -1
  24. package/lib/cjs/interfaces.d.ts +180 -157
  25. package/lib/cjs/interfaces.d.ts.map +1 -1
  26. package/lib/cjs/interfaces.js +44 -33
  27. package/lib/cjs/interfaces.js.map +1 -1
  28. package/lib/cjs/local-provider.d.ts +96 -100
  29. package/lib/cjs/local-provider.d.ts.map +1 -1
  30. package/lib/cjs/local-provider.js +321 -278
  31. package/lib/cjs/local-provider.js.map +1 -1
  32. package/lib/cjs/local-temp-provider.d.ts +18 -18
  33. package/lib/cjs/local-temp-provider.d.ts.map +1 -1
  34. package/lib/cjs/local-temp-provider.js +59 -54
  35. package/lib/cjs/local-temp-provider.js.map +1 -1
  36. package/lib/mjs/cli/rm.d.ts +11 -11
  37. package/lib/mjs/cli/rm.js +25 -25
  38. package/lib/mjs/cli/rm.js.map +1 -1
  39. package/lib/mjs/cli/stat.d.ts +10 -10
  40. package/lib/mjs/cli/stat.js +23 -23
  41. package/lib/mjs/cli/stat.js.map +1 -1
  42. package/lib/mjs/config/fs.d.ts +33 -16
  43. package/lib/mjs/config/fs.d.ts.map +1 -1
  44. package/lib/mjs/config/fs.js +48 -34
  45. package/lib/mjs/config/fs.js.map +1 -1
  46. package/lib/mjs/decorators.d.ts +7 -7
  47. package/lib/mjs/decorators.js +19 -19
  48. package/lib/mjs/file-hasher.d.ts +12 -8
  49. package/lib/mjs/file-hasher.d.ts.map +1 -1
  50. package/lib/mjs/file-hasher.js +45 -36
  51. package/lib/mjs/file-hasher.js.map +1 -1
  52. package/lib/mjs/file-info.d.ts +10 -10
  53. package/lib/mjs/file-info.js +121 -121
  54. package/lib/mjs/file-info.js.map +1 -1
  55. package/lib/mjs/index.d.ts +10 -10
  56. package/lib/mjs/index.d.ts.map +1 -1
  57. package/lib/mjs/index.js +55 -54
  58. package/lib/mjs/index.js.map +1 -1
  59. package/lib/mjs/interfaces.d.ts +180 -157
  60. package/lib/mjs/interfaces.d.ts.map +1 -1
  61. package/lib/mjs/interfaces.js +38 -27
  62. package/lib/mjs/interfaces.js.map +1 -1
  63. package/lib/mjs/local-provider.d.ts +96 -100
  64. package/lib/mjs/local-provider.d.ts.map +1 -1
  65. package/lib/mjs/local-provider.js +315 -272
  66. package/lib/mjs/local-provider.js.map +1 -1
  67. package/lib/mjs/local-temp-provider.d.ts +18 -18
  68. package/lib/mjs/local-temp-provider.d.ts.map +1 -1
  69. package/lib/mjs/local-temp-provider.js +56 -51
  70. package/lib/mjs/local-temp-provider.js.map +1 -1
  71. package/lib/tsconfig.cjs.tsbuildinfo +1 -1
  72. package/lib/tsconfig.mjs.tsbuildinfo +1 -1
  73. package/package.json +6 -2
@@ -1,158 +1,181 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- /// <reference types="node" />
4
- import { AsyncService, IInstanceCheck, IMappableService } from '@spinajs/di';
5
- import { ReadStream, WriteStream } from 'fs';
6
- import { DateTime } from 'luxon';
7
- import { PassThrough } from 'stream';
8
- export interface IProviderConfiguration {
9
- name: string;
10
- service: string;
11
- }
12
- export interface IFsConfiguration {
13
- defaultProvider: string;
14
- providers: IProviderConfiguration[];
15
- }
16
- export interface IStat {
17
- IsDirectory?: boolean;
18
- IsFile?: boolean;
19
- Size?: number;
20
- AccessTime?: DateTime;
21
- ModifiedTime?: DateTime;
22
- CreationTime?: DateTime;
23
- AdditionalData?: unknown;
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
- /**
45
- * Raw unprocessed data obtained from file info
46
- */
47
- Raw?: {};
48
- }
49
- export interface IFsLocalOptions {
50
- /**
51
- * Full path to local directory where files are hold.
52
- * All paths will be relative to this directory
53
- */
54
- basePath: string;
55
- /**
56
- * Instance name of this filesystem. Used to share fs instances.
57
- */
58
- name: string;
59
- }
60
- export interface IFsLocalTempOptions extends IFsLocalOptions {
61
- /**
62
- * Should cleanup of old temp files be enabled
63
- */
64
- cleanup: boolean;
65
- /**
66
- * Cleanup interval in seconds
67
- * Default is 10 minutes
68
- */
69
- cleanupInterval: number;
70
- /**
71
- * Max temp file age in seconds. Older thant this will be deleted.
72
- * Default is 1 hour
73
- */
74
- maxFileAge: number;
75
- }
76
- export interface IZipResult {
77
- asFilePath(): string;
78
- asStream(): ReadStream;
79
- asBase64(): string;
80
- }
81
- export declare abstract class fs extends AsyncService implements IMappableService, IInstanceCheck {
82
- get ServiceName(): string;
83
- __checkInstance__(creationOptions: any): boolean;
84
- abstract Name: string;
85
- /**
86
- * Downloads file to local storage and returns path to it.
87
- * If used on local storage provider eg. hard drive it only returns full path to file
88
- *
89
- * On remote storage provivers eg. amazon s3 - it tries to download it to local disk first and returns
90
- * full path.
91
- *
92
- * Returns local path to file
93
- *
94
- * @param path path to download
95
- */
96
- abstract download(path: string): Promise<string>;
97
- /**
98
- * Copies local file into fs
99
- *
100
- * @param srcPath source path ( full absolute path eg. file from local disk )
101
- * @param destPath dest path ( relative to base path of provider )
102
- */
103
- abstract upload(srcPath: string, destPath?: string): Promise<void>;
104
- /**
105
- *
106
- * Returns full LOCAL path to file
107
- *
108
- * @param path path to resolve
109
- */
110
- abstract resolvePath(path: string): string;
111
- abstract read(path: string, encoding?: BufferEncoding): Promise<string | Buffer>;
112
- abstract readStream(path: string, encoding?: BufferEncoding): Promise<ReadStream>;
113
- abstract write(path: string, data: string | Buffer, encoding?: BufferEncoding): Promise<void>;
114
- abstract writeStream(path: string, encoding?: BufferEncoding): Promise<WriteStream | PassThrough>;
115
- abstract writeStream(path: string, readStream: ReadStream, encoding?: BufferEncoding): Promise<WriteStream | PassThrough | void>;
116
- abstract exists(path: string): Promise<boolean>;
117
- abstract dirExists(path: string): Promise<boolean>;
118
- abstract copy(path: string, dest: string): Promise<void>;
119
- abstract move(oldPath: string, newPath: string): Promise<void>;
120
- abstract rename(oldPath: string, newPath: string): Promise<void>;
121
- abstract unlink(path: string, downloaded?: boolean): Promise<void>;
122
- abstract rm(path: string): Promise<void>;
123
- abstract mkdir(path: string): Promise<void>;
124
- abstract stat(path: string): Promise<IStat>;
125
- abstract list(path: string): Promise<string[]>;
126
- abstract tmppath(): string;
127
- abstract append(path: string, data: string | Buffer, encoding?: BufferEncoding): Promise<void>;
128
- /**
129
- *
130
- * Compress specified file or dir in provided path. If
131
- * Dir is compressed recursively
132
- *
133
- * @param path - path to zip
134
- */
135
- abstract zip(path: string): Promise<IZipResult>;
136
- /**
137
- * Decompress given file to destination path
138
- *
139
- * @param path path to zip file
140
- * @param destPath path to destination dir
141
- */
142
- abstract unzip(srcPath: string, destPath: string): Promise<void>;
143
- tmpname(): string;
144
- }
145
- /**
146
- * File information service, obtain file props, metadata etc.
147
- * Eg. movie resolution, image, codec etc. if possible
148
- */
149
- export declare abstract class FileInfoService {
150
- abstract getInfo(pathToFile: string): Promise<IFileInfo>;
151
- }
152
- /**
153
- * File hasher, to create unique hash for file
154
- */
155
- export declare abstract class FileHasher {
156
- abstract hash(pathToFile: string): Promise<string>;
157
- }
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ /// <reference types="node" />
4
+ /// <reference types="node" />
5
+ import { AsyncService, IInstanceCheck, IMappableService } from '@spinajs/di';
6
+ import { ReadStream, WriteStream } from 'fs';
7
+ import { DateTime } from 'luxon';
8
+ import { PassThrough } from 'stream';
9
+ export interface IProviderConfiguration {
10
+ name: string;
11
+ service: string;
12
+ }
13
+ export interface IFsConfiguration {
14
+ defaultProvider: string;
15
+ providers: IProviderConfiguration[];
16
+ }
17
+ export interface IStat {
18
+ IsDirectory?: boolean;
19
+ IsFile?: boolean;
20
+ Size?: number;
21
+ AccessTime?: DateTime;
22
+ ModifiedTime?: DateTime;
23
+ CreationTime?: DateTime;
24
+ AdditionalData?: unknown;
25
+ }
26
+ export interface IFileInfo {
27
+ /**
28
+ * Size in bytes
29
+ */
30
+ FileSize: number;
31
+ Height?: number;
32
+ Width?: number;
33
+ Duration?: number;
34
+ FrameCount?: number;
35
+ FrameRate?: number;
36
+ Bitrate?: number;
37
+ Codec?: string;
38
+ LineCount?: number;
39
+ Encoding?: string;
40
+ MimeType?: string;
41
+ WordCount?: number;
42
+ AccessDate?: DateTime;
43
+ ModificationDate?: DateTime;
44
+ CreationDate?: DateTime;
45
+ /**
46
+ * Raw unprocessed data obtained from file info
47
+ */
48
+ Raw?: {};
49
+ }
50
+ export interface IFsLocalOptions {
51
+ /**
52
+ * Full path to local directory where files are hold.
53
+ * All paths will be relative to this directory
54
+ *
55
+ * If path is not provided, it will behave like normal nodejs fs functions
56
+ */
57
+ basePath?: string;
58
+ /**
59
+ * Instance name of this filesystem. Used to share fs instances.
60
+ */
61
+ name: string;
62
+ }
63
+ export interface IFsLocalTempOptions extends IFsLocalOptions {
64
+ /**
65
+ * Should cleanup of old temp files be enabled
66
+ */
67
+ cleanup: boolean;
68
+ /**
69
+ * Cleanup interval in seconds
70
+ * Default is 10 minutes
71
+ */
72
+ cleanupInterval: number;
73
+ /**
74
+ * Max temp file age in seconds. Older thant this will be deleted.
75
+ * Default is 1 hour
76
+ */
77
+ maxFileAge: number;
78
+ }
79
+ export interface IZipResult {
80
+ /**
81
+ * Destination filesystem ( default is fs-temp for zipped files)
82
+ */
83
+ fs: fs;
84
+ asFilePath(): string;
85
+ asStream(): ReadStream;
86
+ asBase64(): string;
87
+ unlink(): void;
88
+ }
89
+ export declare abstract class fs extends AsyncService implements IMappableService, IInstanceCheck {
90
+ get ServiceName(): string;
91
+ __checkInstance__(creationOptions: any): boolean;
92
+ abstract Name: string;
93
+ /**
94
+ * Downloads file to local storage and returns path to it.
95
+ * If used on local storage provider eg. hard drive it only returns full path to file
96
+ *
97
+ * On remote storage provivers eg. amazon s3 - it tries to download it to local disk first and returns
98
+ * full path.
99
+ *
100
+ * Returns local path to file
101
+ *
102
+ * @param path path to download
103
+ */
104
+ abstract download(path: string): Promise<string>;
105
+ /**
106
+ * Copies local file into fs
107
+ *
108
+ * @param srcPath source path ( full absolute path eg. file from local disk )
109
+ * @param destPath dest path ( relative to base path of provider )
110
+ */
111
+ abstract upload(srcPath: string, destPath?: string): Promise<void>;
112
+ /**
113
+ *
114
+ * Returns hash of file
115
+ *
116
+ * @param srcPath file to calculate hash
117
+ * @param algo optional hash alghoritm, default is md5
118
+ */
119
+ hash(path: string, algo?: string): Promise<string>;
120
+ /**
121
+ *
122
+ * Returns full LOCAL path to file
123
+ *
124
+ * @param path path to resolve
125
+ */
126
+ abstract resolvePath(path: string): string;
127
+ abstract read(path: string, encoding?: BufferEncoding): Promise<string | Buffer>;
128
+ abstract readStream(path: string, encoding?: BufferEncoding): Promise<NodeJS.ReadableStream>;
129
+ abstract write(path: string, data: string | Buffer, encoding?: BufferEncoding): Promise<void>;
130
+ abstract writeStream(path: string, encoding?: BufferEncoding): Promise<WriteStream | PassThrough>;
131
+ abstract writeStream(path: string, readStream: NodeJS.ReadableStream | BufferEncoding, encoding?: BufferEncoding): Promise<WriteStream | PassThrough>;
132
+ abstract exists(path: string): Promise<boolean>;
133
+ abstract dirExists(path: string): Promise<boolean>;
134
+ abstract copy(path: string, dest: string, dstFs?: fs): Promise<void>;
135
+ abstract move(oldPath: string, newPath: string, dstFs?: fs): Promise<void>;
136
+ abstract rename(oldPath: string, newPath: string): Promise<void>;
137
+ abstract rm(path: string): Promise<void>;
138
+ abstract mkdir(path: string): Promise<void>;
139
+ abstract stat(path: string): Promise<IStat>;
140
+ abstract list(path: string): Promise<string[]>;
141
+ abstract tmppath(): string;
142
+ abstract append(path: string, data: string | Buffer, encoding?: BufferEncoding): Promise<void>;
143
+ /**
144
+ *
145
+ * Compress specified file or dir in provided path. If
146
+ * Dir is compressed recursively
147
+ *
148
+ * @param path - path to zip
149
+ * @param dstFile - destination file name
150
+ */
151
+ abstract zip(path: string | string[], dstFs?: fs, dstFile?: string): Promise<IZipResult>;
152
+ /**
153
+ * Decompress given file to destination path
154
+ *
155
+ * @param path path to zip file
156
+ * @param destPath path to destination dir
157
+ */
158
+ abstract unzip(srcPath: string, destPath: string, dstFs?: fs): Promise<void>;
159
+ /**
160
+ *
161
+ * Checks if given path is dir
162
+ *
163
+ * @param path path to check
164
+ */
165
+ abstract isDir(path: string): Promise<boolean>;
166
+ tmpname(): string;
167
+ }
168
+ /**
169
+ * File information service, obtain file props, metadata etc.
170
+ * Eg. movie resolution, image, codec etc. if possible
171
+ */
172
+ export declare abstract class FileInfoService {
173
+ abstract getInfo(pathToFile: string): Promise<IFileInfo>;
174
+ }
175
+ /**
176
+ * File hasher, to create unique hash for file
177
+ */
178
+ export declare abstract class FileHasher {
179
+ abstract hash(pathToFile: string): Promise<string>;
180
+ }
158
181
  //# sourceMappingURL=interfaces.d.ts.map
@@ -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,34 +1,45 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FileHasher = exports.FileInfoService = exports.fs = void 0;
4
- /* eslint-disable security/detect-non-literal-fs-filename */
5
- const di_1 = require("@spinajs/di");
6
- const uuid_1 = require("uuid");
7
- class fs extends di_1.AsyncService {
8
- get ServiceName() {
9
- return this.Name;
10
- }
11
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
12
- __checkInstance__(creationOptions) {
13
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
14
- return this.Name === creationOptions[0].name;
15
- }
16
- tmpname() {
17
- return (0, uuid_1.v4)();
18
- }
19
- }
20
- exports.fs = fs;
21
- /**
22
- * File information service, obtain file props, metadata etc.
23
- * Eg. movie resolution, image, codec etc. if possible
24
- */
25
- class FileInfoService {
26
- }
27
- exports.FileInfoService = FileInfoService;
28
- /**
29
- * File hasher, to create unique hash for file
30
- */
31
- class FileHasher {
32
- }
33
- exports.FileHasher = FileHasher;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FileHasher = exports.FileInfoService = exports.fs = void 0;
4
+ /* eslint-disable security/detect-non-literal-fs-filename */
5
+ const di_1 = require("@spinajs/di");
6
+ const uuid_1 = require("uuid");
7
+ class fs extends di_1.AsyncService {
8
+ get ServiceName() {
9
+ return this.Name;
10
+ }
11
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
12
+ __checkInstance__(creationOptions) {
13
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
14
+ return this.Name === creationOptions[0].name;
15
+ }
16
+ /**
17
+ *
18
+ * Returns hash of file
19
+ *
20
+ * @param srcPath file to calculate hash
21
+ * @param algo optional hash alghoritm, default is md5
22
+ */
23
+ async hash(path, algo) {
24
+ const hasher = di_1.DI.resolve(FileHasher, [algo]);
25
+ return hasher.hash(this.resolvePath(path));
26
+ }
27
+ tmpname() {
28
+ return (0, uuid_1.v4)();
29
+ }
30
+ }
31
+ exports.fs = fs;
32
+ /**
33
+ * File information service, obtain file props, metadata etc.
34
+ * Eg. movie resolution, image, codec etc. if possible
35
+ */
36
+ class FileInfoService {
37
+ }
38
+ exports.FileInfoService = FileInfoService;
39
+ /**
40
+ * File hasher, to create unique hash for file
41
+ */
42
+ class FileHasher {
43
+ }
44
+ exports.FileHasher = FileHasher;
34
45
  //# sourceMappingURL=interfaces.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":";;;AAAA,4DAA4D;AAC5D,oCAA6E;AAI7E,+BAAoC;AA0FpC,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;IAuEM,OAAO;QACZ,OAAO,IAAA,SAAM,GAAE,CAAC;IAClB,CAAC;CACF;AAnFD,gBAmFC;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,oCAAiF;AAIjF,+BAAoC;AAyGpC,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;IAyBC;;;;;;KAMC;IACI,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,IAAa;QAC3C,MAAM,MAAM,GAAG,OAAE,CAAC,OAAO,CAAa,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1D,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7C,CAAC;IAuDM,OAAO;QACZ,OAAO,IAAA,SAAM,GAAE,CAAC;IAClB,CAAC;CACF;AAtGD,gBAsGC;AAED;;;GAGG;AACH,MAAsB,eAAe;CAEpC;AAFD,0CAEC;AAED;;GAEG;AACH,MAAsB,UAAU;CAE/B;AAFD,gCAEC"}