File tree 2 files changed +47
-2
lines changed
2 files changed +47
-2
lines changed Original file line number Diff line number Diff line change @@ -471,8 +471,8 @@ class JobClient{
471
471
}
472
472
473
473
/**
474
- * Call the Modzy API Service that return the jobs features
475
- * @return {Object } a updated job instance
474
+ * Call Modzy's API Service to return job features
475
+ * @return {Object } An updated job instance
476
476
* @throws {ApiError } If there is something wrong with the sevice or the call
477
477
*/
478
478
getFeatures ( ) {
Original file line number Diff line number Diff line change
1
+ const fs = require ( 'fs' ) ;
2
+
3
+ function readBytes ( fd , sharedBuffer ) {
4
+ return new Promise ( ( resolve , reject ) => {
5
+ fs . read (
6
+ fd ,
7
+ sharedBuffer ,
8
+ 0 ,
9
+ sharedBuffer . length ,
10
+ null ,
11
+ ( err ) => {
12
+ if ( err ) { return reject ( err ) ; }
13
+ resolve ( ) ;
14
+ }
15
+ ) ;
16
+ } ) ;
17
+ }
18
+
19
+ async function * fileToChunks ( filePath , size ) {
20
+ const sharedBuffer = Buffer . alloc ( size ) ;
21
+ const stats = fs . statSync ( filePath ) ;
22
+ const fd = fs . openSync ( filePath , "r" ) ;
23
+ let bytesRead = 0 ;
24
+ let end = size ;
25
+ for ( let i = 0 ; i < Math . ceil ( stats . size / size ) ; i ++ ) {
26
+ await readBytes ( fd , sharedBuffer ) ;
27
+ bytesRead = ( i + 1 ) * size ;
28
+ if ( bytesRead > stats . size ) {
29
+ end = size - ( bytesRead - stats . size ) ;
30
+ }
31
+ yield sharedBuffer . slice ( 0 , end ) ;
32
+ }
33
+ fs . closeSync ( fd ) ;
34
+ }
35
+
36
+ async function * byteArrayToChunks ( byteArray , size ) {
37
+ for ( let i = 0 ; i < byteArray . length ; i += size ) {
38
+ yield byteArray . slice ( i , i + size ) ;
39
+ }
40
+ }
41
+
42
+ module . exports = {
43
+ byteArrayToChunks,
44
+ fileToChunks
45
+ } ;
You can’t perform that action at this time.
0 commit comments