triangle-utils 1.4.17 → 1.4.18

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.
@@ -4,6 +4,7 @@ export declare class UtilsS3 {
4
4
  constructor(region: string);
5
5
  file_exists(s3_filename: string): Promise<boolean | undefined>;
6
6
  get_file(s3_filename: string): Promise<string | undefined>;
7
+ get_file_buffer(s3_filename: string): Promise<Buffer | undefined>;
7
8
  get_file_stream(s3_filename: string): Promise<Readable | undefined>;
8
9
  create_file(s3_filename: string, content: string | Buffer, options?: {
9
10
  content_type?: string;
@@ -39,7 +39,7 @@ export class UtilsS3 {
39
39
  if (body === undefined) {
40
40
  return undefined;
41
41
  }
42
- const text = body.transformToString("utf-8");
42
+ const text = await body.transformToString("utf-8");
43
43
  return text;
44
44
  }
45
45
  catch (error) {
@@ -49,6 +49,27 @@ export class UtilsS3 {
49
49
  throw error;
50
50
  }
51
51
  }
52
+ async get_file_buffer(s3_filename) {
53
+ const s3_key = parse_s3_filename(s3_filename);
54
+ if (s3_key === undefined) {
55
+ return undefined;
56
+ }
57
+ try {
58
+ const response = await this.s3.getObject(s3_key);
59
+ const body = response.Body;
60
+ if (body === undefined) {
61
+ return undefined;
62
+ }
63
+ const buffer = Buffer.from(await body.transformToByteArray());
64
+ return buffer;
65
+ }
66
+ catch (error) {
67
+ if (error instanceof NoSuchKey) {
68
+ return undefined;
69
+ }
70
+ throw error;
71
+ }
72
+ }
52
73
  async get_file_stream(s3_filename) {
53
74
  const s3_key = parse_s3_filename(s3_filename);
54
75
  if (s3_key === undefined) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "triangle-utils",
3
- "version": "1.4.17",
3
+ "version": "1.4.18",
4
4
  "main": "dist/src/index.js",
5
5
  "types": "dist/src/index.d.ts",
6
6
  "directories": {
package/src/UtilsS3.ts CHANGED
@@ -49,7 +49,7 @@ export class UtilsS3 {
49
49
  if (body === undefined) {
50
50
  return undefined
51
51
  }
52
- const text = body.transformToString("utf-8")
52
+ const text = await body.transformToString("utf-8")
53
53
  return text
54
54
  } catch (error) {
55
55
  if (error instanceof NoSuchKey) {
@@ -59,6 +59,27 @@ export class UtilsS3 {
59
59
  }
60
60
  }
61
61
 
62
+ async get_file_buffer(s3_filename : string) : Promise<Buffer | undefined> {
63
+ const s3_key = parse_s3_filename(s3_filename)
64
+ if (s3_key === undefined) {
65
+ return undefined
66
+ }
67
+ try {
68
+ const response = await this.s3.getObject(s3_key)
69
+ const body = response.Body
70
+ if (body === undefined) {
71
+ return undefined
72
+ }
73
+ const buffer = Buffer.from(await body.transformToByteArray())
74
+ return buffer
75
+ } catch (error) {
76
+ if (error instanceof NoSuchKey) {
77
+ return undefined
78
+ }
79
+ throw error
80
+ }
81
+ }
82
+
62
83
  async get_file_stream(s3_filename : string) : Promise<Readable | undefined> {
63
84
  const s3_key = parse_s3_filename(s3_filename)
64
85
  if (s3_key === undefined) {