@ostro/filesystem 1.0.3 → 2.0.0-alpha.1

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 (66) hide show
  1. package/adapter/CoreAdapter.d.ts +139 -0
  2. package/adapter/CoreAdapter.d.ts.map +1 -0
  3. package/adapter/CoreAdapter.js +164 -57
  4. package/adapter/CoreAdapter.js.map +1 -0
  5. package/adapter/azure.d.ts +36 -0
  6. package/adapter/azure.d.ts.map +1 -0
  7. package/adapter/azure.js +93 -56
  8. package/adapter/azure.js.map +1 -0
  9. package/adapter/local.d.ts +78 -0
  10. package/adapter/local.d.ts.map +1 -0
  11. package/adapter/local.js +136 -66
  12. package/adapter/local.js.map +1 -0
  13. package/adapter/s3.d.ts +36 -0
  14. package/adapter/s3.d.ts.map +1 -0
  15. package/adapter/s3.js +102 -70
  16. package/adapter/s3.js.map +1 -0
  17. package/callbackHandler.d.ts +69 -0
  18. package/callbackHandler.d.ts.map +1 -0
  19. package/callbackHandler.js +93 -23
  20. package/callbackHandler.js.map +1 -0
  21. package/clients/azure.d.ts +32 -0
  22. package/clients/azure.d.ts.map +1 -0
  23. package/clients/azure.js +43 -13
  24. package/clients/azure.js.map +1 -0
  25. package/clients/s3.d.ts +27 -0
  26. package/clients/s3.d.ts.map +1 -0
  27. package/clients/s3.js +40 -9
  28. package/clients/s3.js.map +1 -0
  29. package/directoryCreateException.d.ts +18 -0
  30. package/directoryCreateException.d.ts.map +1 -0
  31. package/directoryCreateException.js +27 -5
  32. package/directoryCreateException.js.map +1 -0
  33. package/fileDeleteException.d.ts +19 -0
  34. package/fileDeleteException.d.ts.map +1 -0
  35. package/fileDeleteException.js +28 -4
  36. package/fileDeleteException.js.map +1 -0
  37. package/fileNotFoundException.d.ts +18 -0
  38. package/fileNotFoundException.d.ts.map +1 -0
  39. package/fileNotFoundException.js +27 -5
  40. package/fileNotFoundException.js.map +1 -0
  41. package/fileUploadException.d.ts +18 -0
  42. package/fileUploadException.d.ts.map +1 -0
  43. package/fileUploadException.js +28 -5
  44. package/fileUploadException.js.map +1 -0
  45. package/filesystem.d.ts +300 -0
  46. package/filesystem.d.ts.map +1 -0
  47. package/filesystem.js +389 -192
  48. package/filesystem.js.map +1 -0
  49. package/filesystemAdapter.d.ts +91 -0
  50. package/filesystemAdapter.d.ts.map +1 -0
  51. package/filesystemAdapter.js +134 -52
  52. package/filesystemAdapter.js.map +1 -0
  53. package/filesystemManager.d.ts +94 -0
  54. package/filesystemManager.d.ts.map +1 -0
  55. package/filesystemManager.js +141 -57
  56. package/filesystemManager.js.map +1 -0
  57. package/filesystemServiceProvider.d.ts +40 -0
  58. package/filesystemServiceProvider.d.ts.map +1 -0
  59. package/filesystemServiceProvider.js +49 -21
  60. package/filesystemServiceProvider.js.map +1 -0
  61. package/invalidArgumentException.d.ts +17 -0
  62. package/invalidArgumentException.d.ts.map +1 -0
  63. package/invalidArgumentException.js +26 -4
  64. package/invalidArgumentException.js.map +1 -0
  65. package/package.json +24 -10
  66. package/.github/workflows/npm-publish.yml +0 -22
@@ -0,0 +1,78 @@
1
+ import fs from 'fs-extra';
2
+ import CoreAdapter from './CoreAdapter';
3
+ declare const kHandler: unique symbol;
4
+ /**
5
+ * Class Local.
6
+ */
7
+ declare class Local extends CoreAdapter {
8
+ [kHandler]: any;
9
+ /**
10
+ * Create a new instance.
11
+ *
12
+ * @param root - Base root directory.
13
+ * @param $config - Configuration object.
14
+ */
15
+ constructor(root: string, $config: Record<string, any>);
16
+ /**
17
+ * move method.
18
+ *
19
+ * @param path - Source path.
20
+ * @param newpath - Destination path.
21
+ * @param callback - Optional completion callback.
22
+ * @returns Promise if no callback, or void.
23
+ */
24
+ move(path: string, newpath: any, callback?: Function): any;
25
+ /**
26
+ * delete method.
27
+ *
28
+ * @param $path - File or directory path to delete.
29
+ * @param options - Deletion options.
30
+ * @param callback - Completion callback.
31
+ */
32
+ delete($path: string, options: Record<string, any>, callback: Function): void;
33
+ /**
34
+ * createDir method.
35
+ *
36
+ * @param $path - Directory path to create.
37
+ * @param options - Directory options.
38
+ * @param callback - Completion callback.
39
+ */
40
+ createDir($path: string, options: Record<string, any>, callback: Function): void;
41
+ /**
42
+ * has method.
43
+ *
44
+ * @param $path - File path to check.
45
+ * @param options - Access options.
46
+ * @param callback - Result callback.
47
+ */
48
+ has($path: string, options: {
49
+ constants: keyof typeof fs.constants | string;
50
+ }, callback: Function): void;
51
+ /**
52
+ * write method.
53
+ *
54
+ * @param $path - File path to write to.
55
+ * @param $contents - Content to write.
56
+ * @param options - Write options.
57
+ * @param rest - Extra arguments including callback.
58
+ */
59
+ write($path: string, $contents: any, options?: Record<string, any>, ...rest: any[]): void;
60
+ /**
61
+ * read method.
62
+ *
63
+ * @param $path - File path to read from.
64
+ * @param options - Read options.
65
+ * @param callback - Result callback.
66
+ */
67
+ read($path: string, options: Record<string, any>, callback: Function): void;
68
+ /**
69
+ * global method.
70
+ *
71
+ * @param $path - Optional path.
72
+ * @param options - Optional options.
73
+ * @param callback - Optional callback.
74
+ */
75
+ global($path?: string, options?: Record<string, any>, callback?: Function): void;
76
+ }
77
+ export default Local;
78
+ //# sourceMappingURL=local.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../../src/adapter/local.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,WAAW,MAAM,eAAe,CAAC;AAIxC,QAAA,MAAM,QAAQ,EAAE,OAAO,MAA0B,CAAC;AAElD;;GAEG;AACH,cAAM,KAAM,SAAQ,WAAW;IAC3B,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC;IAEhB;;;;;OAKG;gBACS,IAAI,EAAE,MAAW,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAO3D;;;;;;;OAOG;IACI,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,GAAG;IAcjE;;;;;;OAMG;IACI,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAiBzF;;;;;;OAMG;IACI,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAgB5F;;;;;;OAMG;IACI,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,OAAO,EAAE,CAAC,SAAS,GAAG,MAAM,CAAA;KAA0B,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAiBvI;;;;;;;OAOG;IACI,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAkCpG;;;;;;OAMG;IACI,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAwBvF;;;;;;OAMG;IACI,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI;CAE9F;AAED,eAAe,KAAK,CAAC"}
package/adapter/local.js CHANGED
@@ -1,31 +1,62 @@
1
- const fs = require('fs-extra')
2
- const CoreAdapter = require('./CoreAdapter')
3
- const path = require('path')
4
- const { v4 } = require("uuid");
5
- const kHandler = Symbol('handler')
6
-
7
- class Local extends CoreAdapter {
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const fs_extra_1 = __importDefault(require("fs-extra"));
7
+ const CoreAdapter_1 = __importDefault(require("./CoreAdapter"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const uuid_1 = require("uuid");
10
+ const kHandler = Symbol('handler');
11
+ /**
12
+ * Class Local.
13
+ */
14
+ class Local extends CoreAdapter_1.default {
15
+ [kHandler];
16
+ /**
17
+ * Create a new instance.
18
+ *
19
+ * @param root - Base root directory.
20
+ * @param $config - Configuration object.
21
+ */
8
22
  constructor(root = '', $config) {
9
- super()
10
- this.setPathPrefix(root)
11
- this.setConfig($config)
12
- this[kHandler] = (typeof $config.handler == 'function' ? new $config.handler : (typeof $config.handler == 'object' ? $config.handler : {}))
23
+ super();
24
+ this.setPathPrefix(root);
25
+ this.setConfig($config);
26
+ this[kHandler] = (typeof $config.handler == 'function' ? new $config.handler() : (typeof $config.handler == 'object' ? $config.handler : {}));
13
27
  }
28
+ /**
29
+ * move method.
30
+ *
31
+ * @param path - Source path.
32
+ * @param newpath - Destination path.
33
+ * @param callback - Optional completion callback.
34
+ * @returns Promise if no callback, or void.
35
+ */
14
36
  move(path, newpath, callback) {
15
- if (callback)
16
- return fs.move(path, newpath, {
37
+ if (callback) {
38
+ return fs_extra_1.default.move(path, newpath, {
17
39
  overwrite: true
18
- }, function(err, res) {
19
- callback(err, res, newpath)
20
- })
21
- else
22
- return fs.move(path, newpath, {
40
+ }, function (err, res) {
41
+ callback(err, res, newpath);
42
+ });
43
+ }
44
+ else {
45
+ return fs_extra_1.default.move(path, newpath, {
23
46
  overwrite: true
24
- })
47
+ });
48
+ }
25
49
  }
50
+ /**
51
+ * delete method.
52
+ *
53
+ * @param $path - File or directory path to delete.
54
+ * @param options - Deletion options.
55
+ * @param callback - Completion callback.
56
+ */
26
57
  delete($path, options = {}, callback) {
27
- let location = this.applyPathPrefix($path);
28
- fs.remove(location, (error) => {
58
+ const location = this.applyPathPrefix($path);
59
+ fs_extra_1.default.remove(location, (error) => {
29
60
  if (typeof this[kHandler].delete == 'function') {
30
61
  this[kHandler].delete({
31
62
  basePath: location,
@@ -33,30 +64,46 @@ class Local extends CoreAdapter {
33
64
  options,
34
65
  callback,
35
66
  error,
36
- })
37
- } else {
38
- callback(error, true, location)
67
+ });
68
+ }
69
+ else {
70
+ callback(error, true, location);
39
71
  }
40
72
  });
41
73
  }
74
+ /**
75
+ * createDir method.
76
+ *
77
+ * @param $path - Directory path to create.
78
+ * @param options - Directory options.
79
+ * @param callback - Completion callback.
80
+ */
42
81
  createDir($path, options = {}, callback) {
43
- let location = this.applyPathPrefix($path);
44
- fs.mkdir(location, { recursive: true }, (error) => {
82
+ const location = this.applyPathPrefix($path);
83
+ fs_extra_1.default.mkdir(location, { recursive: true }, (error) => {
45
84
  if (typeof this[kHandler].createDir == 'function') {
46
85
  this[kHandler].createDir({
47
86
  path: $path,
48
87
  options,
49
88
  callback,
50
89
  error,
51
- })
52
- } else {
53
- callback(error, true, location)
90
+ });
91
+ }
92
+ else {
93
+ callback(error, true, location);
54
94
  }
55
95
  });
56
96
  }
97
+ /**
98
+ * has method.
99
+ *
100
+ * @param $path - File path to check.
101
+ * @param options - Access options.
102
+ * @param callback - Result callback.
103
+ */
57
104
  has($path, options = { constants: 'F_OK' }, callback) {
58
- let location = this.applyPathPrefix($path);
59
- fs.access(location, fs.constants[options.constants], (error) => {
105
+ const location = this.applyPathPrefix($path);
106
+ fs_extra_1.default.access(location, fs_extra_1.default.constants[options.constants], (error) => {
60
107
  if (typeof this[kHandler].has == 'function') {
61
108
  this[kHandler].has({
62
109
  basePath: location,
@@ -64,55 +111,66 @@ class Local extends CoreAdapter {
64
111
  options,
65
112
  callback,
66
113
  error,
67
- })
68
- } else {
69
- callback(error, true)
114
+ });
115
+ }
116
+ else {
117
+ callback(error, true);
70
118
  }
71
119
  });
72
120
  }
73
-
121
+ /**
122
+ * write method.
123
+ *
124
+ * @param $path - File path to write to.
125
+ * @param $contents - Content to write.
126
+ * @param options - Write options.
127
+ * @param rest - Extra arguments including callback.
128
+ */
74
129
  write($path, $contents, options = {}, ...rest) {
75
-
76
- let callback = Array.from(rest).find(arg => typeof arg == 'function')
77
- let location = this.applyPathPrefix($path);
78
- fs.stat(location).then(res=>{
79
- if(res.isDirectory()){
80
- return path.join(location,v4())
130
+ const callback = Array.from(rest).find(arg => typeof arg == 'function');
131
+ const location = this.applyPathPrefix($path);
132
+ fs_extra_1.default.stat(location).then(res => {
133
+ if (res.isDirectory()) {
134
+ return path_1.default.join(location, (0, uuid_1.v4)());
81
135
  }
82
- return location
136
+ return location;
83
137
  })
84
- .catch(e=>location)
85
- .then(location=>{
86
- this.ensureDirectory(this.dirname(location), () => {
87
- fs.writeFile(location, $contents, (error, data) => {
138
+ .catch(() => location)
139
+ .then(loc => {
140
+ this.ensureDirectory(this.dirname(loc), () => {
141
+ fs_extra_1.default.writeFile(loc, $contents, (error, data) => {
88
142
  if (typeof this[kHandler].write == 'function') {
89
143
  this[kHandler].write({
90
- basePath: location,
144
+ basePath: loc,
91
145
  path: $path,
92
146
  options,
93
147
  callback,
94
148
  error,
95
149
  content: $contents
96
- })
97
- } else {
150
+ });
151
+ }
152
+ else {
98
153
  callback(error, {
99
154
  'type': 'file',
100
155
  'path': $path,
101
156
  'message': 'File created successfully'
102
- }, location)
157
+ }, loc);
103
158
  }
104
- })
159
+ });
105
160
  });
106
- })
107
-
108
-
109
-
161
+ });
110
162
  }
111
-
163
+ /**
164
+ * read method.
165
+ *
166
+ * @param $path - File path to read from.
167
+ * @param options - Read options.
168
+ * @param callback - Result callback.
169
+ */
112
170
  read($path, options = {}, callback) {
113
- let location = this.applyPathPrefix($path);
114
- fs.readFile(location, {
115
- encoding: (this.getConfig().encoding || (options.encoding || 'utf-8'))
171
+ const location = this.applyPathPrefix($path);
172
+ fs_extra_1.default.readFile(location, {
173
+ encoding: (this.getConfig()?.encoding || (options.encoding || 'utf-8'))
116
174
  }, (error, data) => {
117
175
  if (typeof this[kHandler].read == 'function') {
118
176
  this[kHandler].read({
@@ -122,20 +180,32 @@ class Local extends CoreAdapter {
122
180
  callback,
123
181
  error,
124
182
  response: data
125
- })
126
- } else {
183
+ });
184
+ }
185
+ else {
127
186
  callback(error, {
128
187
  'type': 'file',
129
188
  'path': $path,
130
189
  'contents': data
131
- }, location)
190
+ }, location);
132
191
  }
133
192
  });
134
-
135
193
  }
194
+ /**
195
+ * global method.
196
+ *
197
+ * @param $path - Optional path.
198
+ * @param options - Optional options.
199
+ * @param callback - Optional callback.
200
+ */
136
201
  global($path, options = {}, callback) {
137
-
138
202
  }
139
-
140
203
  }
141
- module.exports = Local
204
+ exports.default = Local;
205
+ //# sourceMappingURL=local.js.map
206
+ if (exports.default) {
207
+ const d = exports.default;
208
+ module.exports = d;
209
+ Object.assign(module.exports, exports);
210
+ module.exports.default = d;
211
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local.js","sourceRoot":"","sources":["../../src/adapter/local.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import CoreAdapter from './CoreAdapter';
2
+ declare const kClient: unique symbol;
3
+ declare const kHandler: unique symbol;
4
+ /**
5
+ * Class S3.
6
+ */
7
+ declare class S3 extends CoreAdapter {
8
+ [kClient]: any;
9
+ [kHandler]: any;
10
+ /**
11
+ * Create a new instance.
12
+ *
13
+ * @param $client - S3 client instance.
14
+ * @param $config - Configuration options.
15
+ */
16
+ constructor($client: any, $config: Record<string, any>);
17
+ /**
18
+ * read method.
19
+ *
20
+ * @param $path - File path to read.
21
+ * @param options - Read options.
22
+ * @param callback - Completion callback.
23
+ */
24
+ read($path: string, options: Record<string, any>, callback: Function): void;
25
+ /**
26
+ * write method.
27
+ *
28
+ * @param $path - Destination file path.
29
+ * @param data - File content to upload.
30
+ * @param options - Upload options.
31
+ * @param callback - Completion callback.
32
+ */
33
+ write($path: string, data: any, options: Record<string, any>, callback: Function): void;
34
+ }
35
+ export default S3;
36
+ //# sourceMappingURL=s3.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"s3.d.ts","sourceRoot":"","sources":["../../src/adapter/s3.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,eAAe,CAAC;AAExC,QAAA,MAAM,OAAO,EAAE,OAAO,MAAyB,CAAC;AAChD,QAAA,MAAM,QAAQ,EAAE,OAAO,MAA0B,CAAC;AAElD;;GAEG;AACH,cAAM,EAAG,SAAQ,WAAW;IACxB,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC;IACf,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC;IAEhB;;;;;OAKG;gBACS,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAOtD;;;;;;OAMG;IACI,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;IA+BvF;;;;;;;OAOG;IACI,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;CAkCtG;AAED,eAAe,EAAE,CAAC"}
package/adapter/s3.js CHANGED
@@ -1,84 +1,116 @@
1
- const CoreAdapter = require('./CoreAdapter')
2
- const kClient = Symbol('client')
3
- const kHandler = Symbol('handler')
4
- const { v4 } = require("uuid");
5
- const path = require('path')
6
-
7
- class Azure extends CoreAdapter {
8
-
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const CoreAdapter_1 = __importDefault(require("./CoreAdapter"));
7
+ const kClient = Symbol('client');
8
+ const kHandler = Symbol('handler');
9
+ /**
10
+ * Class S3.
11
+ */
12
+ class S3 extends CoreAdapter_1.default {
13
+ [kClient];
14
+ [kHandler];
15
+ /**
16
+ * Create a new instance.
17
+ *
18
+ * @param $client - S3 client instance.
19
+ * @param $config - Configuration options.
20
+ */
9
21
  constructor($client, $config) {
10
- super()
22
+ super();
11
23
  this[kClient] = $client;
12
- this[kHandler] = typeof $config.handler == 'function' ? new $config.handler : typeof $config.handler == 'object' ? $config.handler : {};
13
- this.setUrlPrefix(this[kClient].url)
24
+ this[kHandler] = typeof $config.handler == 'function' ? new $config.handler() : typeof $config.handler == 'object' ? $config.handler : {};
25
+ this.setUrlPrefix(this[kClient].url);
14
26
  }
15
-
27
+ /**
28
+ * read method.
29
+ *
30
+ * @param $path - File path to read.
31
+ * @param options - Read options.
32
+ * @param callback - Completion callback.
33
+ */
16
34
  read($path, options = {}, callback) {
17
- let basePath = this.applyUrlPrefix();
18
- $path = $path.replaceAll('\\', '/')
19
- if ($path.charAt(0) == "/") {
20
- $path = $path.substr(1)
35
+ const basePath = this.applyUrlPrefix();
36
+ $path = $path.replaceAll('\\', '/');
37
+ if ($path.charAt(0) == '/') {
38
+ $path = $path.substr(1);
21
39
  }
22
40
  this[kClient].getConnection().getObject({ Key: $path }).promise()
23
- .then(response => ({ error: null, data: response.Body }))
24
- .catch(error => Promise.resolve({ error, data: null }))
41
+ .then((response) => ({ error: null, data: response.Body }))
42
+ .catch((error) => Promise.resolve({ error, data: null }))
25
43
  .then(({ error, data }) => {
26
- if (typeof this[kHandler].read == 'function') {
27
- this[kHandler].read({
28
- path: $path,
29
- options,
30
- callback,
31
- error,
32
- basePath,
33
- contents: data
34
- })
35
- } else {
36
- callback(error, function() {
37
- return {
38
- 'type': 'file',
39
- 'path': $path,
40
- 'contents': (options.dataType == 'base64') ? data.toString('base64') : data.toString(),
41
- }
42
- }, basePath)
43
- }
44
- });
44
+ if (typeof this[kHandler].read == 'function') {
45
+ this[kHandler].read({
46
+ path: $path,
47
+ options,
48
+ callback,
49
+ error,
50
+ basePath,
51
+ contents: data
52
+ });
53
+ }
54
+ else {
55
+ callback(error, function () {
56
+ return {
57
+ 'type': 'file',
58
+ 'path': $path,
59
+ 'contents': (options.dataType == 'base64') ? data.toString('base64') : data.toString(),
60
+ };
61
+ }, basePath);
62
+ }
63
+ });
45
64
  }
65
+ /**
66
+ * write method.
67
+ *
68
+ * @param $path - Destination file path.
69
+ * @param data - File content to upload.
70
+ * @param options - Upload options.
71
+ * @param callback - Completion callback.
72
+ */
46
73
  write($path, data, options = {}, callback) {
47
-
48
- $path = $path.replaceAll('\\', '/')
49
- if ($path.charAt(0) == "/") {
50
- $path = $path.substr(1)
74
+ $path = $path.replaceAll('\\', '/');
75
+ if ($path.charAt(0) == '/') {
76
+ $path = $path.substr(1);
51
77
  }
52
- let basePath = this.applyUrlPrefix();
78
+ const basePath = this.applyUrlPrefix();
53
79
  this[kClient].getConnection().upload({
54
- Key: $path,
55
- Body: data.toString("base64"),
56
- }).promise()
57
-
58
- .then(response => ({ error: null, response }))
59
- .catch(error => Promise.resolve({ error, response: null }))
80
+ Key: $path,
81
+ Body: data.toString('base64'),
82
+ }).promise()
83
+ .then((response) => ({ error: null, response }))
84
+ .catch((error) => Promise.resolve({ error, response: null }))
60
85
  .then(({ error, response }) => {
61
- if (typeof this[kHandler].read == 'function') {
62
- this[kHandler].write({
63
- path: $path,
64
- options,
65
- callback,
66
- error,
67
- basePath,
68
- response,
69
- contents: data
70
- })
71
- } else {
72
- callback(error, function() {
73
- return {
74
- 'type': 'file',
75
- 'path': $path,
76
- 'message': 'File uploaded successfully'
77
- }
78
- }, basePath)
79
- }
80
- });
86
+ if (typeof this[kHandler].write == 'function') {
87
+ this[kHandler].write({
88
+ path: $path,
89
+ options,
90
+ callback,
91
+ error,
92
+ basePath,
93
+ response,
94
+ contents: data
95
+ });
96
+ }
97
+ else {
98
+ callback(error, function () {
99
+ return {
100
+ 'type': 'file',
101
+ 'path': $path,
102
+ 'message': 'File uploaded successfully'
103
+ };
104
+ }, basePath);
105
+ }
106
+ });
81
107
  }
82
-
83
108
  }
84
- module.exports = Azure
109
+ exports.default = S3;
110
+ //# sourceMappingURL=s3.js.map
111
+ if (exports.default) {
112
+ const d = exports.default;
113
+ module.exports = d;
114
+ Object.assign(module.exports, exports);
115
+ module.exports.default = d;
116
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"s3.js","sourceRoot":"","sources":["../../src/adapter/s3.ts"],"names":[],"mappings":"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"}