@hestia-earth/pipeline-utils 0.12.1 → 0.13.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.
- package/dist/api.d.ts +1 -1
- package/dist/api.js +3 -2
- package/dist/api.js.map +1 -1
- package/dist/ec2.js +4 -2
- package/dist/ec2.js.map +1 -1
- package/dist/find-nodes.js +37 -41
- package/dist/find-nodes.js.map +1 -1
- package/dist/gitlab.js +1 -4
- package/dist/gitlab.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/lambda.d.ts +1 -1
- package/dist/lambda.js +4 -2
- package/dist/lambda.js.map +1 -1
- package/dist/local.js +3 -6
- package/dist/local.js.map +1 -1
- package/dist/progress.js +1 -1
- package/dist/progress.js.map +1 -1
- package/dist/s3.d.ts +1 -0
- package/dist/s3.js +77 -42
- package/dist/s3.js.map +1 -1
- package/dist/sns.d.ts +1 -1
- package/dist/sns.js +6 -4
- package/dist/sns.js.map +1 -1
- package/dist/sqs.d.ts +1 -1
- package/dist/sqs.js +6 -4
- package/dist/sqs.js.map +1 -1
- package/dist/utils.js +22 -19
- package/dist/utils.js.map +1 -1
- package/package.json +29 -33
- package/src/api.ts +4 -5
- package/src/ec2.ts +16 -13
- package/src/find-nodes.ts +85 -80
- package/src/gitlab.ts +1 -4
- package/src/index.ts +0 -1
- package/src/lambda.ts +19 -16
- package/src/local.ts +20 -24
- package/src/progress.ts +39 -22
- package/src/s3.ts +150 -89
- package/src/sns.ts +36 -28
- package/src/sqs.ts +36 -28
- package/src/utils.ts +45 -38
- package/dist/requests.d.ts +0 -8
- package/dist/requests.js +0 -84
- package/dist/requests.js.map +0 -1
- package/src/requests.ts +0 -89
package/src/utils.ts
CHANGED
|
@@ -6,31 +6,35 @@ import { error } from './log';
|
|
|
6
6
|
|
|
7
7
|
export const recordToFunctionParam = (event: SNSEventRecord | S3EventRecord): IFunctionParam =>
|
|
8
8
|
reduceUndefinedValues(
|
|
9
|
-
'Sns' in event
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
9
|
+
'Sns' in event
|
|
10
|
+
? {
|
|
11
|
+
...JSON.parse(event.Sns.Message),
|
|
12
|
+
timestamp: event.Sns.Timestamp ? new Date(event.Sns.Timestamp) : undefined
|
|
13
|
+
}
|
|
14
|
+
: {
|
|
15
|
+
bucket: event.s3.bucket.name,
|
|
16
|
+
key: event.s3.object.key,
|
|
17
|
+
filepath: event.s3.object.key,
|
|
18
|
+
timestamp: event.eventTime ? new Date(event.eventTime) : undefined
|
|
19
|
+
}
|
|
18
20
|
) as IFunctionParam;
|
|
19
21
|
|
|
20
|
-
export const functionParamToS3Record = ({ bucket, key, timestamp }: IFunctionParam) =>
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
22
|
+
export const functionParamToS3Record = ({ bucket, key, timestamp }: IFunctionParam) =>
|
|
23
|
+
({
|
|
24
|
+
s3: {
|
|
25
|
+
bucket: { name: bucket },
|
|
26
|
+
object: { key }
|
|
27
|
+
},
|
|
28
|
+
...(timestamp ? { eventTime: timestamp.toJSON() } : {})
|
|
29
|
+
}) as Partial<S3EventRecord>;
|
|
27
30
|
|
|
28
|
-
export const functionParamToSNSRecord = ({ bucket, key, timestamp }: IFunctionParam) =>
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
export const functionParamToSNSRecord = ({ bucket, key, timestamp }: IFunctionParam) =>
|
|
32
|
+
({
|
|
33
|
+
Sns: {
|
|
34
|
+
Message: JSON.stringify({ bucket, key })
|
|
35
|
+
},
|
|
36
|
+
...(timestamp ? { Timestamp: timestamp.toJSON() } : {})
|
|
37
|
+
}) as Partial<SNSEventRecord>;
|
|
34
38
|
|
|
35
39
|
export const returnResponse = (data: any, statusCode = 200) => {
|
|
36
40
|
return {
|
|
@@ -45,36 +49,39 @@ export const returnResponse = (data: any, statusCode = 200) => {
|
|
|
45
49
|
|
|
46
50
|
const defaultErrorStatus = 500;
|
|
47
51
|
|
|
48
|
-
export const returnError =
|
|
52
|
+
export const returnError = err => {
|
|
49
53
|
error('handleError', err, err?.stack, err?.meta);
|
|
50
|
-
const { error: errorContent, status = defaultErrorStatus } =
|
|
51
|
-
|
|
52
|
-
|
|
54
|
+
const { error: errorContent, status = defaultErrorStatus } =
|
|
55
|
+
typeof err === 'string'
|
|
56
|
+
? { error: err }
|
|
57
|
+
: err.meta
|
|
53
58
|
? err.meta.body
|
|
54
59
|
: { error: err.message, status: defaultErrorStatus };
|
|
55
60
|
return returnResponse({ error: errorContent }, status || defaultErrorStatus);
|
|
56
61
|
};
|
|
57
62
|
|
|
58
63
|
export const spliceAndProcess = <T, R>(docs: T[], func: (p: T[]) => Promise<R>, count = 1) =>
|
|
59
|
-
new Promise<R|void>(resolve => {
|
|
64
|
+
new Promise<R | void>(resolve => {
|
|
60
65
|
if (!docs.length) {
|
|
61
66
|
return resolve();
|
|
62
67
|
}
|
|
63
68
|
const remaining = docs.splice(docs.length - count);
|
|
64
|
-
|
|
69
|
+
|
|
70
|
+
void func(remaining)
|
|
71
|
+
.then(() => spliceAndProcess(docs, func, count))
|
|
72
|
+
.then(resolve);
|
|
65
73
|
});
|
|
66
74
|
|
|
67
|
-
export const isEmpty = (value: any, minKeys = 1) =>
|
|
68
|
-
|
|
69
|
-
Array.isArray(value)
|
|
70
|
-
!value.length
|
|
71
|
-
Object.keys(value).filter(key => key !== 'type').length < minKeys
|
|
72
|
-
|
|
73
|
-
typeof value === 'undefined' || value === null || value === '';
|
|
75
|
+
export const isEmpty = (value: any, minKeys = 1) =>
|
|
76
|
+
typeof value === 'object'
|
|
77
|
+
? Array.isArray(value)
|
|
78
|
+
? !value.length
|
|
79
|
+
: Object.keys(value).filter(key => key !== 'type').length < minKeys
|
|
80
|
+
: typeof value === 'undefined' || value === null || value === '';
|
|
74
81
|
|
|
75
82
|
export const refToSchemaType = ref => ref.substring(2).replace('.json#', '');
|
|
76
83
|
|
|
77
|
-
export const prependWithKey = (data: any, key: string) =>
|
|
78
|
-
.reduce((prev, curr) => ({ ...prev, [`${key}.${curr}`]: data[curr] }), {});
|
|
84
|
+
export const prependWithKey = (data: any, key: string) =>
|
|
85
|
+
Object.keys(data).reduce((prev, curr) => ({ ...prev, [`${key}.${curr}`]: data[curr] }), {});
|
|
79
86
|
|
|
80
|
-
export const stripBOM = (content: string) => content.charCodeAt(0) ===
|
|
87
|
+
export const stripBOM = (content: string) => (content.charCodeAt(0) === 0xfeff ? content.slice(1) : content);
|
package/dist/requests.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { URLSearchParams } from 'url';
|
|
3
|
-
export declare const fromFormData: <T>(data: any) => T;
|
|
4
|
-
export declare const toSearchParams: (params?: any) => URLSearchParams;
|
|
5
|
-
export declare const getErrorMessage: (error: any) => any;
|
|
6
|
-
export declare const get: <T>(uri: string, params?: any, headers?: {}) => Promise<T>;
|
|
7
|
-
export declare const post: <T>(uri: string, data?: any, headers?: {}) => Promise<T>;
|
|
8
|
-
export declare const put: <T>(uri: string, data?: any, headers?: {}) => Promise<T>;
|
package/dist/requests.js
DELETED
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.put = exports.post = exports.get = exports.getErrorMessage = exports.toSearchParams = exports.fromFormData = void 0;
|
|
4
|
-
const url_1 = require("url");
|
|
5
|
-
const request_promise_native_1 = require("request-promise-native");
|
|
6
|
-
const fromFormData = (data) => {
|
|
7
|
-
const obj = {};
|
|
8
|
-
for (const key of Object.keys(data)) {
|
|
9
|
-
const value = data[key];
|
|
10
|
-
try {
|
|
11
|
-
obj[key] = JSON.parse(value);
|
|
12
|
-
}
|
|
13
|
-
catch (_err) {
|
|
14
|
-
obj[key] = value;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
return obj;
|
|
18
|
-
};
|
|
19
|
-
exports.fromFormData = fromFormData;
|
|
20
|
-
const toSearchParams = (params = {}) => {
|
|
21
|
-
const searchParams = new url_1.URLSearchParams();
|
|
22
|
-
Object.entries(params)
|
|
23
|
-
.filter(([_key, value]) => typeof value !== 'undefined')
|
|
24
|
-
.forEach(([key, value]) => searchParams.append(key, `${value}`));
|
|
25
|
-
return searchParams;
|
|
26
|
-
};
|
|
27
|
-
exports.toSearchParams = toSearchParams;
|
|
28
|
-
const getErrorMessage = error => {
|
|
29
|
-
return (typeof error === 'string' && error) || ('message' in error && error.message) || ('error' in error && (0, exports.getErrorMessage)(error.error));
|
|
30
|
-
};
|
|
31
|
-
exports.getErrorMessage = getErrorMessage;
|
|
32
|
-
const get = async (uri, params = {}, headers = {}) => {
|
|
33
|
-
try {
|
|
34
|
-
const res = await (0, request_promise_native_1.get)({
|
|
35
|
-
uri: `${uri}?${(0, exports.toSearchParams)(params).toString()}`,
|
|
36
|
-
headers: {
|
|
37
|
-
'Content-Type': 'application/json',
|
|
38
|
-
...headers
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
return JSON.parse(res);
|
|
42
|
-
}
|
|
43
|
-
catch (error) {
|
|
44
|
-
throw new Error((0, exports.getErrorMessage)(error));
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
exports.get = get;
|
|
48
|
-
const post = async (uri, data = {}, headers = {}) => {
|
|
49
|
-
try {
|
|
50
|
-
const res = await (0, request_promise_native_1.post)({
|
|
51
|
-
uri,
|
|
52
|
-
headers: {
|
|
53
|
-
'Content-Type': 'application/json',
|
|
54
|
-
...headers
|
|
55
|
-
},
|
|
56
|
-
body: data,
|
|
57
|
-
json: true
|
|
58
|
-
});
|
|
59
|
-
return res;
|
|
60
|
-
}
|
|
61
|
-
catch (error) {
|
|
62
|
-
throw new Error((0, exports.getErrorMessage)(error));
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
exports.post = post;
|
|
66
|
-
const put = async (uri, data = {}, headers = {}) => {
|
|
67
|
-
try {
|
|
68
|
-
const res = await (0, request_promise_native_1.put)({
|
|
69
|
-
uri,
|
|
70
|
-
headers: {
|
|
71
|
-
'Content-Type': 'application/json',
|
|
72
|
-
...headers
|
|
73
|
-
},
|
|
74
|
-
body: data,
|
|
75
|
-
json: true
|
|
76
|
-
});
|
|
77
|
-
return res;
|
|
78
|
-
}
|
|
79
|
-
catch (error) {
|
|
80
|
-
throw new Error((0, exports.getErrorMessage)(error));
|
|
81
|
-
}
|
|
82
|
-
};
|
|
83
|
-
exports.put = put;
|
|
84
|
-
//# sourceMappingURL=requests.js.map
|
package/dist/requests.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"requests.js","sourceRoot":"","sources":["../src/requests.ts"],"names":[],"mappings":"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"}
|
package/src/requests.ts
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import { URLSearchParams } from 'url';
|
|
2
|
-
import { get as httpGet, post as httpPost, put as httpPut } from 'request-promise-native';
|
|
3
|
-
|
|
4
|
-
export const fromFormData = <T>(data: any) => {
|
|
5
|
-
const obj = {} as T;
|
|
6
|
-
for (const key of Object.keys(data)) {
|
|
7
|
-
const value = data[key];
|
|
8
|
-
try {
|
|
9
|
-
obj[key] = JSON.parse(value);
|
|
10
|
-
}
|
|
11
|
-
catch (_err) {
|
|
12
|
-
obj[key] = value;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
return obj;
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
export const toSearchParams = (params: any = {}) => {
|
|
19
|
-
const searchParams = new URLSearchParams();
|
|
20
|
-
|
|
21
|
-
Object.entries(params)
|
|
22
|
-
.filter(([_key, value]) => typeof value !== 'undefined')
|
|
23
|
-
.forEach(([key, value]) => searchParams.append(key, `${value}`));
|
|
24
|
-
return searchParams;
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
/* eslint-disable */
|
|
28
|
-
export const getErrorMessage = error => {
|
|
29
|
-
return (
|
|
30
|
-
typeof error === 'string' && error
|
|
31
|
-
) || (
|
|
32
|
-
'message' in error && error.message
|
|
33
|
-
) || (
|
|
34
|
-
'error' in error && getErrorMessage(error.error)
|
|
35
|
-
);
|
|
36
|
-
};
|
|
37
|
-
/* eslint-enable */
|
|
38
|
-
|
|
39
|
-
export const get = async <T>(uri: string, params: any = {}, headers = {}) => {
|
|
40
|
-
try {
|
|
41
|
-
const res = await httpGet({
|
|
42
|
-
uri: `${uri}?${toSearchParams(params).toString()}`,
|
|
43
|
-
headers: {
|
|
44
|
-
'Content-Type': 'application/json',
|
|
45
|
-
...headers
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
return JSON.parse(res) as T;
|
|
49
|
-
}
|
|
50
|
-
catch (error) {
|
|
51
|
-
throw new Error(getErrorMessage(error));
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
export const post = async <T>(uri: string, data: any = {}, headers = {}) => {
|
|
56
|
-
try {
|
|
57
|
-
const res = await httpPost({
|
|
58
|
-
uri,
|
|
59
|
-
headers: {
|
|
60
|
-
'Content-Type': 'application/json',
|
|
61
|
-
...headers
|
|
62
|
-
},
|
|
63
|
-
body: data,
|
|
64
|
-
json: true
|
|
65
|
-
});
|
|
66
|
-
return res as T;
|
|
67
|
-
}
|
|
68
|
-
catch (error) {
|
|
69
|
-
throw new Error(getErrorMessage(error));
|
|
70
|
-
}
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
export const put = async <T>(uri: string, data: any = {}, headers = {}) => {
|
|
74
|
-
try {
|
|
75
|
-
const res = await httpPut({
|
|
76
|
-
uri,
|
|
77
|
-
headers: {
|
|
78
|
-
'Content-Type': 'application/json',
|
|
79
|
-
...headers
|
|
80
|
-
},
|
|
81
|
-
body: data,
|
|
82
|
-
json: true
|
|
83
|
-
});
|
|
84
|
-
return res as T;
|
|
85
|
-
}
|
|
86
|
-
catch (error) {
|
|
87
|
-
throw new Error(getErrorMessage(error));
|
|
88
|
-
}
|
|
89
|
-
};
|