@8ms/helpers 1.0.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/Class/BaseClass.d.ts +19 -0
- package/dist/Class/BaseClass.js +78 -0
- package/dist/Class/index.d.ts +3 -0
- package/dist/Class/index.js +8 -0
- package/dist/api/constants.d.ts +13 -0
- package/dist/api/constants.js +16 -0
- package/dist/api/index.d.ts +4 -0
- package/dist/api/index.js +7 -0
- package/dist/api/types.d.ts +6 -0
- package/dist/api/types.js +2 -0
- package/dist/array/getArray.d.ts +7 -0
- package/dist/array/getArray.js +14 -0
- package/dist/array/index.d.ts +3 -0
- package/dist/array/index.js +8 -0
- package/dist/atInternet/index.d.ts +3 -0
- package/dist/atInternet/index.js +2 -0
- package/dist/atInternet/types.d.ts +30 -0
- package/dist/atInternet/types.js +2 -0
- package/dist/aws/athenaExpress/getClient.d.ts +13 -0
- package/dist/aws/athenaExpress/getClient.js +23 -0
- package/dist/aws/athenaExpress/index.d.ts +4 -0
- package/dist/aws/athenaExpress/index.js +10 -0
- package/dist/aws/athenaExpress/request.d.ts +8 -0
- package/dist/aws/athenaExpress/request.js +54 -0
- package/dist/aws/glue/getClient.d.ts +10 -0
- package/dist/aws/glue/getClient.js +16 -0
- package/dist/aws/glue/index.d.ts +4 -0
- package/dist/aws/glue/index.js +10 -0
- package/dist/aws/glue/invoke.d.ts +10 -0
- package/dist/aws/glue/invoke.js +71 -0
- package/dist/aws/index.d.ts +4 -0
- package/dist/aws/index.js +8 -0
- package/dist/aws/isResponse200.d.ts +7 -0
- package/dist/aws/isResponse200.js +16 -0
- package/dist/aws/lambda/getClient.d.ts +10 -0
- package/dist/aws/lambda/getClient.js +16 -0
- package/dist/aws/lambda/index.d.ts +4 -0
- package/dist/aws/lambda/index.js +10 -0
- package/dist/aws/lambda/invoke.d.ts +20 -0
- package/dist/aws/lambda/invoke.js +91 -0
- package/dist/aws/s3/deleteDirectory.d.ts +10 -0
- package/dist/aws/s3/deleteDirectory.js +83 -0
- package/dist/aws/s3/deleteFile.d.ts +10 -0
- package/dist/aws/s3/deleteFile.js +61 -0
- package/dist/aws/s3/deleteFiles.d.ts +10 -0
- package/dist/aws/s3/deleteFiles.js +65 -0
- package/dist/aws/s3/getClient.d.ts +10 -0
- package/dist/aws/s3/getClient.js +16 -0
- package/dist/aws/s3/getPresignedPost.d.ts +21 -0
- package/dist/aws/s3/getPresignedPost.js +66 -0
- package/dist/aws/s3/getSignedUrl.d.ts +15 -0
- package/dist/aws/s3/getSignedUrl.js +70 -0
- package/dist/aws/s3/index.d.ts +15 -0
- package/dist/aws/s3/index.js +30 -0
- package/dist/aws/s3/listFiles.d.ts +10 -0
- package/dist/aws/s3/listFiles.js +77 -0
- package/dist/aws/s3/listFolders.d.ts +10 -0
- package/dist/aws/s3/listFolders.js +76 -0
- package/dist/aws/s3/readBuffer.d.ts +11 -0
- package/dist/aws/s3/readBuffer.js +100 -0
- package/dist/aws/s3/readFile.d.ts +12 -0
- package/dist/aws/s3/readFile.js +114 -0
- package/dist/aws/s3/types.d.ts +22 -0
- package/dist/aws/s3/types.js +2 -0
- package/dist/aws/s3/writeFile.d.ts +11 -0
- package/dist/aws/s3/writeFile.js +64 -0
- package/dist/aws/s3/writeGlueJsonFile.d.ts +13 -0
- package/dist/aws/s3/writeGlueJsonFile.js +64 -0
- package/dist/aws/s3/writePresignedPost.d.ts +15 -0
- package/dist/aws/s3/writePresignedPost.js +87 -0
- package/dist/aws/s3cache/getCache.d.ts +17 -0
- package/dist/aws/s3cache/getCache.js +62 -0
- package/dist/aws/s3cache/getKey.d.ts +12 -0
- package/dist/aws/s3cache/getKey.js +19 -0
- package/dist/aws/s3cache/index.d.ts +7 -0
- package/dist/aws/s3cache/index.js +14 -0
- package/dist/aws/s3cache/saveCache.d.ts +12 -0
- package/dist/aws/s3cache/saveCache.js +59 -0
- package/dist/aws/s3cache/types.d.ts +6 -0
- package/dist/aws/s3cache/types.js +2 -0
- package/dist/aws/s3cache/updateCache.d.ts +12 -0
- package/dist/aws/s3cache/updateCache.js +66 -0
- package/dist/aws/ses/SimpleEmail.d.ts +53 -0
- package/dist/aws/ses/SimpleEmail.js +209 -0
- package/dist/aws/ses/getClient.d.ts +10 -0
- package/dist/aws/ses/getClient.js +16 -0
- package/dist/aws/ses/index.d.ts +4 -0
- package/dist/aws/ses/index.js +10 -0
- package/dist/aws/ssm/getClient.d.ts +10 -0
- package/dist/aws/ssm/getClient.js +16 -0
- package/dist/aws/ssm/getParameter.d.ts +12 -0
- package/dist/aws/ssm/getParameter.js +85 -0
- package/dist/aws/ssm/index.d.ts +4 -0
- package/dist/aws/ssm/index.js +10 -0
- package/dist/aws/types.d.ts +5 -0
- package/dist/aws/types.js +2 -0
- package/dist/boolean/getBoolean.d.ts +5 -0
- package/dist/boolean/getBoolean.js +16 -0
- package/dist/boolean/index.d.ts +3 -0
- package/dist/boolean/index.js +8 -0
- package/dist/crud/constants.d.ts +6 -0
- package/dist/crud/constants.js +9 -0
- package/dist/crud/index.d.ts +4 -0
- package/dist/crud/index.js +5 -0
- package/dist/crud/types.d.ts +2 -0
- package/dist/crud/types.js +2 -0
- package/dist/crypto/getDecrypt.d.ts +11 -0
- package/dist/crypto/getDecrypt.js +13 -0
- package/dist/crypto/getEncrypt.d.ts +11 -0
- package/dist/crypto/getEncrypt.js +13 -0
- package/dist/crypto/getRandom.d.ts +7 -0
- package/dist/crypto/getRandom.js +12 -0
- package/dist/crypto/getSha256.d.ts +8 -0
- package/dist/crypto/getSha256.js +12 -0
- package/dist/crypto/index.d.ts +6 -0
- package/dist/crypto/index.js +14 -0
- package/dist/date/constants.d.ts +21 -0
- package/dist/date/constants.js +24 -0
- package/dist/date/format.d.ts +9 -0
- package/dist/date/format.js +15 -0
- package/dist/date/getDate.d.ts +8 -0
- package/dist/date/getDate.js +40 -0
- package/dist/date/getDurationHours.d.ts +8 -0
- package/dist/date/getDurationHours.js +28 -0
- package/dist/date/getDurationMinutes.d.ts +8 -0
- package/dist/date/getDurationMinutes.js +27 -0
- package/dist/date/getFinancialYear.d.ts +8 -0
- package/dist/date/getFinancialYear.js +48 -0
- package/dist/date/getFinancialYearToDate.d.ts +6 -0
- package/dist/date/getFinancialYearToDate.js +15 -0
- package/dist/date/getFinancialYearWeeks.d.ts +8 -0
- package/dist/date/getFinancialYearWeeks.js +26 -0
- package/dist/date/getLastWeek.d.ts +6 -0
- package/dist/date/getLastWeek.js +16 -0
- package/dist/date/getMax.d.ts +8 -0
- package/dist/date/getMax.js +19 -0
- package/dist/date/getMonday.d.ts +11 -0
- package/dist/date/getMonday.js +29 -0
- package/dist/date/getNumber.d.ts +8 -0
- package/dist/date/getNumber.js +16 -0
- package/dist/date/getPredefinedTimeframe.d.ts +8 -0
- package/dist/date/getPredefinedTimeframe.js +25 -0
- package/dist/date/getSunday.d.ts +11 -0
- package/dist/date/getSunday.js +29 -0
- package/dist/date/getThisWeek.d.ts +6 -0
- package/dist/date/getThisWeek.js +16 -0
- package/dist/date/getToday.d.ts +6 -0
- package/dist/date/getToday.js +12 -0
- package/dist/date/getTwoWeeksAgo.d.ts +6 -0
- package/dist/date/getTwoWeeksAgo.js +16 -0
- package/dist/date/getWeeksAgo.d.ts +6 -0
- package/dist/date/getWeeksAgo.js +17 -0
- package/dist/date/getYesterday.d.ts +5 -0
- package/dist/date/getYesterday.js +12 -0
- package/dist/date/index.d.ts +24 -0
- package/dist/date/index.js +51 -0
- package/dist/date/isDateValid.d.ts +7 -0
- package/dist/date/isDateValid.js +24 -0
- package/dist/date/isLastWeek.d.ts +6 -0
- package/dist/date/isLastWeek.js +15 -0
- package/dist/date/isThisWeek.d.ts +6 -0
- package/dist/date/isThisWeek.js +15 -0
- package/dist/date/parseExcelDate.d.ts +8 -0
- package/dist/date/parseExcelDate.js +20 -0
- package/dist/date/types.d.ts +28 -0
- package/dist/date/types.js +2 -0
- package/dist/environment/constants.d.ts +9 -0
- package/dist/environment/constants.js +12 -0
- package/dist/environment/getEnvironment.d.ts +8 -0
- package/dist/environment/getEnvironment.js +31 -0
- package/dist/environment/index.d.ts +11 -0
- package/dist/environment/index.js +23 -0
- package/dist/environment/isAws.d.ts +8 -0
- package/dist/environment/isAws.js +11 -0
- package/dist/environment/isDevelopment.d.ts +5 -0
- package/dist/environment/isDevelopment.js +12 -0
- package/dist/environment/isLocalhost.d.ts +8 -0
- package/dist/environment/isLocalhost.js +23 -0
- package/dist/environment/isProduction.d.ts +5 -0
- package/dist/environment/isProduction.js +12 -0
- package/dist/environment/isStaging.d.ts +5 -0
- package/dist/environment/isStaging.js +12 -0
- package/dist/environment/isVercel.d.ts +8 -0
- package/dist/environment/isVercel.js +11 -0
- package/dist/environment/types.d.ts +3 -0
- package/dist/environment/types.js +2 -0
- package/dist/google/getCredentials.d.ts +11 -0
- package/dist/google/getCredentials.js +77 -0
- package/dist/google/index.d.ts +4 -0
- package/dist/google/index.js +8 -0
- package/dist/google/types.d.ts +12 -0
- package/dist/google/types.js +2 -0
- package/dist/googleAds/getClient.d.ts +14 -0
- package/dist/googleAds/getClient.js +80 -0
- package/dist/googleAds/getCustomer.d.ts +8 -0
- package/dist/googleAds/getCustomer.js +56 -0
- package/dist/googleAds/index.d.ts +5 -0
- package/dist/googleAds/index.js +10 -0
- package/dist/googleAds/types.d.ts +5 -0
- package/dist/googleAds/types.js +2 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.js +72 -0
- package/dist/nextAuth/constants.d.ts +5 -0
- package/dist/nextAuth/constants.js +8 -0
- package/dist/nextAuth/index.d.ts +3 -0
- package/dist/nextAuth/index.js +5 -0
- package/dist/prisma/getClient.d.ts +6 -0
- package/dist/prisma/getClient.js +41 -0
- package/dist/prisma/index.d.ts +3 -0
- package/dist/prisma/index.js +8 -0
- package/dist/string/getCleanFolder.d.ts +5 -0
- package/dist/string/getCleanFolder.js +12 -0
- package/dist/string/getStringFromStream.d.ts +6 -0
- package/dist/string/getStringFromStream.js +16 -0
- package/dist/string/index.d.ts +4 -0
- package/dist/string/index.js +10 -0
- package/dist/swr/index.d.ts +8 -0
- package/dist/swr/index.js +18 -0
- package/dist/swr/isAllData.d.ts +5 -0
- package/dist/swr/isAllData.js +19 -0
- package/dist/swr/isAnyError.d.ts +5 -0
- package/dist/swr/isAnyError.js +19 -0
- package/dist/swr/isAnyLoading.d.ts +5 -0
- package/dist/swr/isAnyLoading.js +21 -0
- package/dist/swr/isData.d.ts +5 -0
- package/dist/swr/isData.js +7 -0
- package/dist/swr/isError.d.ts +5 -0
- package/dist/swr/isError.js +7 -0
- package/dist/swr/isLoading.d.ts +5 -0
- package/dist/swr/isLoading.js +12 -0
- package/dist/url/buildParameters.d.ts +8 -0
- package/dist/url/buildParameters.js +23 -0
- package/dist/url/buildRelative.d.ts +8 -0
- package/dist/url/buildRelative.js +14 -0
- package/dist/url/buildUrl.d.ts +12 -0
- package/dist/url/buildUrl.js +30 -0
- package/dist/url/index.d.ts +8 -0
- package/dist/url/index.js +16 -0
- package/dist/url/isAbsolute.d.ts +7 -0
- package/dist/url/isAbsolute.js +16 -0
- package/dist/url/isRelative.d.ts +7 -0
- package/dist/url/isRelative.js +11 -0
- package/dist/url/types.d.ts +6 -0
- package/dist/url/types.js +2 -0
- package/dist/util/defaultTo.d.ts +5 -0
- package/dist/util/defaultTo.js +34 -0
- package/dist/util/index.d.ts +4 -0
- package/dist/util/index.js +10 -0
- package/dist/util/sleep.d.ts +4 -0
- package/dist/util/sleep.js +7 -0
- package/package.json +27 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (_) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
var string_1 = require("../../string");
|
|
40
|
+
/**
|
|
41
|
+
* List the files in the given bucket and option folder
|
|
42
|
+
*/
|
|
43
|
+
var listFiles = function (_a) {
|
|
44
|
+
var S3Lib = _a.S3Lib, bucket = _a.bucket, client = _a.client, _b = _a.folder, folder = _b === void 0 ? '' : _b;
|
|
45
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
46
|
+
var cleanFolder, response, valid, ListObjectsV2Command, apiResponse;
|
|
47
|
+
return __generator(this, function (_c) {
|
|
48
|
+
switch (_c.label) {
|
|
49
|
+
case 0:
|
|
50
|
+
cleanFolder = (0, string_1.getCleanFolder)(folder);
|
|
51
|
+
response = [];
|
|
52
|
+
valid = [];
|
|
53
|
+
ListObjectsV2Command = S3Lib.ListObjectsV2Command;
|
|
54
|
+
return [4 /*yield*/, client.send(new ListObjectsV2Command({
|
|
55
|
+
Bucket: bucket,
|
|
56
|
+
Delimiter: '/',
|
|
57
|
+
Prefix: ('' === cleanFolder ? '' : cleanFolder + '/'),
|
|
58
|
+
}))];
|
|
59
|
+
case 1:
|
|
60
|
+
apiResponse = _c.sent();
|
|
61
|
+
// Ensure the data exists
|
|
62
|
+
if (undefined !== apiResponse['Contents']) {
|
|
63
|
+
// Return an array of files
|
|
64
|
+
valid = apiResponse['Contents'].filter(function (content) {
|
|
65
|
+
var keyExploded = content['Key'].split('/');
|
|
66
|
+
return keyExploded[keyExploded.length - 1].indexOf('.') > -1;
|
|
67
|
+
});
|
|
68
|
+
if (valid.length) {
|
|
69
|
+
response = valid.map(function (entry) { return entry['Key']; });
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return [2 /*return*/, response];
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
};
|
|
77
|
+
exports.default = listFiles;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (_) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
var string_1 = require("../../string");
|
|
40
|
+
/**
|
|
41
|
+
* List the files in the given bucket and option folder.
|
|
42
|
+
*/
|
|
43
|
+
var listFolders = function (_a) {
|
|
44
|
+
var S3Lib = _a.S3Lib, bucket = _a.bucket, client = _a.client, _b = _a.folder, folder = _b === void 0 ? '' : _b;
|
|
45
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
46
|
+
var cleanFolder, response, ListObjectsV2Command, apiResponse;
|
|
47
|
+
return __generator(this, function (_c) {
|
|
48
|
+
switch (_c.label) {
|
|
49
|
+
case 0:
|
|
50
|
+
cleanFolder = (0, string_1.getCleanFolder)(folder);
|
|
51
|
+
response = [];
|
|
52
|
+
ListObjectsV2Command = S3Lib.ListObjectsV2Command;
|
|
53
|
+
return [4 /*yield*/, client.send(new ListObjectsV2Command({
|
|
54
|
+
Bucket: bucket,
|
|
55
|
+
Delimiter: '/',
|
|
56
|
+
Prefix: ('' === cleanFolder ? '' : cleanFolder + '/'),
|
|
57
|
+
}))];
|
|
58
|
+
case 1:
|
|
59
|
+
apiResponse = _c.sent();
|
|
60
|
+
// Ensure the data exists
|
|
61
|
+
if (undefined !== apiResponse['CommonPrefixes']) {
|
|
62
|
+
// Return an array of folders removing the trailing folder
|
|
63
|
+
response = apiResponse['CommonPrefixes'].map(function (prefix) {
|
|
64
|
+
// Remove the trailing slash then split by slash
|
|
65
|
+
var fileFolders = prefix.Prefix.slice(0, -1)
|
|
66
|
+
.split('/');
|
|
67
|
+
// Return the last folder without a trailing slash
|
|
68
|
+
return fileFolders[fileFolders.length - 1];
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
return [2 /*return*/, response];
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
};
|
|
76
|
+
exports.default = listFolders;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ReadBufferType } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Similar function to reading the S3 file, but instead of a text file return a buffer.
|
|
4
|
+
*/
|
|
5
|
+
declare const readBuffer: ({ S3Lib, bucket, client, file }: {
|
|
6
|
+
S3Lib: any;
|
|
7
|
+
bucket: string;
|
|
8
|
+
client: any;
|
|
9
|
+
file: string;
|
|
10
|
+
}) => Promise<ReadBufferType>;
|
|
11
|
+
export default readBuffer;
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (_) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
var getUnixTime_1 = __importDefault(require("date-fns/getUnixTime"));
|
|
43
|
+
var isResponse200_1 = __importDefault(require("../isResponse200"));
|
|
44
|
+
/**
|
|
45
|
+
* Similar function to reading the S3 file, but instead of a text file return a buffer.
|
|
46
|
+
*/
|
|
47
|
+
var readBuffer = function (_a) {
|
|
48
|
+
var S3Lib = _a.S3Lib, bucket = _a.bucket, client = _a.client, file = _a.file;
|
|
49
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
50
|
+
var response, GetObjectCommand, apiResponse, chunks_1, _b;
|
|
51
|
+
return __generator(this, function (_c) {
|
|
52
|
+
switch (_c.label) {
|
|
53
|
+
case 0:
|
|
54
|
+
response = {
|
|
55
|
+
buffer: undefined,
|
|
56
|
+
now: (0, getUnixTime_1.default)(new Date()),
|
|
57
|
+
modified: {
|
|
58
|
+
unix: null,
|
|
59
|
+
vsNow: {
|
|
60
|
+
months: 0,
|
|
61
|
+
days: 0,
|
|
62
|
+
hours: 0,
|
|
63
|
+
minutes: 0,
|
|
64
|
+
},
|
|
65
|
+
vsMidnight: {
|
|
66
|
+
hours: 0,
|
|
67
|
+
minutes: 0,
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
};
|
|
71
|
+
GetObjectCommand = S3Lib.GetObjectCommand;
|
|
72
|
+
return [4 /*yield*/, client.send(new GetObjectCommand({
|
|
73
|
+
Bucket: bucket,
|
|
74
|
+
Key: file,
|
|
75
|
+
}))];
|
|
76
|
+
case 1:
|
|
77
|
+
apiResponse = _c.sent();
|
|
78
|
+
if (!(0, isResponse200_1.default)({ apiResponse: apiResponse })) return [3 /*break*/, 3];
|
|
79
|
+
chunks_1 = [];
|
|
80
|
+
// Store the response
|
|
81
|
+
_b = response;
|
|
82
|
+
return [4 /*yield*/, new Promise(function (resolve, reject) {
|
|
83
|
+
// @ts-ignore
|
|
84
|
+
apiResponse.Body.on('data', function (chunk) { return chunks_1.push(chunk); });
|
|
85
|
+
// @ts-ignore
|
|
86
|
+
apiResponse.Body.on('error', function (err) { return reject(err); });
|
|
87
|
+
// @ts-ignore
|
|
88
|
+
apiResponse.Body.on('end', function () { return resolve(Buffer.concat(chunks_1)); });
|
|
89
|
+
})];
|
|
90
|
+
case 2:
|
|
91
|
+
// Store the response
|
|
92
|
+
_b.buffer = _c.sent();
|
|
93
|
+
return [3 /*break*/, 4];
|
|
94
|
+
case 3: throw new Error("Error reading file.");
|
|
95
|
+
case 4: return [2 /*return*/, response];
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
};
|
|
100
|
+
exports.default = readBuffer;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ReadFileType } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Read a file from S3 and return either null, the content or JSON decoded.
|
|
4
|
+
*/
|
|
5
|
+
declare const readFile: ({ S3Lib, bucket, client, file, isJson }: {
|
|
6
|
+
S3Lib: any;
|
|
7
|
+
bucket: string;
|
|
8
|
+
client: any;
|
|
9
|
+
file: string;
|
|
10
|
+
isJson: boolean;
|
|
11
|
+
}) => Promise<ReadFileType>;
|
|
12
|
+
export default readFile;
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (_) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
var differenceInDays_1 = __importDefault(require("date-fns/differenceInDays"));
|
|
43
|
+
var differenceInHours_1 = __importDefault(require("date-fns/differenceInHours"));
|
|
44
|
+
var differenceInMinutes_1 = __importDefault(require("date-fns/differenceInMinutes"));
|
|
45
|
+
var differenceInMonths_1 = __importDefault(require("date-fns/differenceInMonths"));
|
|
46
|
+
var getHours_1 = __importDefault(require("date-fns/getHours"));
|
|
47
|
+
var getMinutes_1 = __importDefault(require("date-fns/getMinutes"));
|
|
48
|
+
var getUnixTime_1 = __importDefault(require("date-fns/getUnixTime"));
|
|
49
|
+
var string_1 = require("../../string");
|
|
50
|
+
var isResponse200_1 = __importDefault(require("../isResponse200"));
|
|
51
|
+
/**
|
|
52
|
+
* Read a file from S3 and return either null, the content or JSON decoded.
|
|
53
|
+
*/
|
|
54
|
+
var readFile = function (_a) {
|
|
55
|
+
var S3Lib = _a.S3Lib, bucket = _a.bucket, client = _a.client, file = _a.file, isJson = _a.isJson;
|
|
56
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
57
|
+
var response, GetObjectCommand, apiResponse, now, modified, _b;
|
|
58
|
+
return __generator(this, function (_c) {
|
|
59
|
+
switch (_c.label) {
|
|
60
|
+
case 0:
|
|
61
|
+
response = {
|
|
62
|
+
body: undefined,
|
|
63
|
+
now: (0, getUnixTime_1.default)(new Date()),
|
|
64
|
+
modified: {
|
|
65
|
+
unix: null,
|
|
66
|
+
vsNow: {
|
|
67
|
+
months: 0,
|
|
68
|
+
days: 0,
|
|
69
|
+
hours: 0,
|
|
70
|
+
minutes: 0,
|
|
71
|
+
},
|
|
72
|
+
vsMidnight: {
|
|
73
|
+
hours: 0,
|
|
74
|
+
minutes: 0,
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
GetObjectCommand = S3Lib.GetObjectCommand;
|
|
79
|
+
return [4 /*yield*/, client.send(new GetObjectCommand({
|
|
80
|
+
Bucket: bucket,
|
|
81
|
+
Key: file,
|
|
82
|
+
}))];
|
|
83
|
+
case 1:
|
|
84
|
+
apiResponse = _c.sent();
|
|
85
|
+
if (!(0, isResponse200_1.default)({ apiResponse: apiResponse })) return [3 /*break*/, 3];
|
|
86
|
+
now = new Date();
|
|
87
|
+
modified = new Date(apiResponse.LastModified);
|
|
88
|
+
// Convert the date to unix
|
|
89
|
+
response.modified.unix = (0, getUnixTime_1.default)(modified);
|
|
90
|
+
// Compare now to unix
|
|
91
|
+
response.modified.vsNow.months = (0, differenceInMonths_1.default)(now, modified);
|
|
92
|
+
response.modified.vsNow.days = (0, differenceInDays_1.default)(now, modified);
|
|
93
|
+
response.modified.vsNow.hours = (0, differenceInHours_1.default)(now, modified);
|
|
94
|
+
response.modified.vsNow.minutes = (0, differenceInMinutes_1.default)(now, modified);
|
|
95
|
+
// Compare now to midnight
|
|
96
|
+
response.modified.vsMidnight.hours = (0, getHours_1.default)(now);
|
|
97
|
+
response.modified.vsMidnight.minutes = (0, getMinutes_1.default)(now);
|
|
98
|
+
// Convert stream into a string
|
|
99
|
+
_b = response;
|
|
100
|
+
return [4 /*yield*/, (0, string_1.getStringFromStream)(apiResponse.Body)];
|
|
101
|
+
case 2:
|
|
102
|
+
// Convert stream into a string
|
|
103
|
+
_b.body = _c.sent();
|
|
104
|
+
// If we need to return JSON, parse it. On error return undefined
|
|
105
|
+
if (isJson) {
|
|
106
|
+
response.body = JSON.parse(response.body) || undefined;
|
|
107
|
+
}
|
|
108
|
+
_c.label = 3;
|
|
109
|
+
case 3: return [2 /*return*/, response];
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
});
|
|
113
|
+
};
|
|
114
|
+
exports.default = readFile;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export declare type ReadType = {
|
|
2
|
+
now: number;
|
|
3
|
+
modified: {
|
|
4
|
+
unix: null | number;
|
|
5
|
+
vsNow: {
|
|
6
|
+
months: number;
|
|
7
|
+
days: number;
|
|
8
|
+
hours: number;
|
|
9
|
+
minutes: number;
|
|
10
|
+
};
|
|
11
|
+
vsMidnight: {
|
|
12
|
+
hours: number;
|
|
13
|
+
minutes: number;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
export declare type ReadBufferType = ReadType & {
|
|
18
|
+
buffer: any;
|
|
19
|
+
};
|
|
20
|
+
export declare type ReadFileType = ReadType & {
|
|
21
|
+
body: any;
|
|
22
|
+
};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (_) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.writeFile = void 0;
|
|
40
|
+
/**
|
|
41
|
+
* Write a file to S3.
|
|
42
|
+
*/
|
|
43
|
+
var writeFile = function (_a) {
|
|
44
|
+
var S3Lib = _a.S3Lib, bucket = _a.bucket, client = _a.client, file = _a.file, content = _a.content;
|
|
45
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
46
|
+
var PutObjectCommand, apiResponse;
|
|
47
|
+
return __generator(this, function (_b) {
|
|
48
|
+
switch (_b.label) {
|
|
49
|
+
case 0:
|
|
50
|
+
PutObjectCommand = S3Lib.PutObjectCommand;
|
|
51
|
+
return [4 /*yield*/, client.send(new PutObjectCommand({
|
|
52
|
+
Bucket: bucket,
|
|
53
|
+
Body: content,
|
|
54
|
+
Key: file,
|
|
55
|
+
}))];
|
|
56
|
+
case 1:
|
|
57
|
+
apiResponse = _b.sent();
|
|
58
|
+
return [2 /*return*/, apiResponse];
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
};
|
|
63
|
+
exports.writeFile = writeFile;
|
|
64
|
+
exports.default = exports.writeFile;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert the object into a JSON file so it's ready to be used with AWS Glue.
|
|
3
|
+
* Input: Must be an array of objects that are the same.
|
|
4
|
+
* Output: No array [] brackets, each object must on its own new line.
|
|
5
|
+
*/
|
|
6
|
+
export declare const writeGlueJsonFile: ({ S3Lib, bucket, client, file, input }: {
|
|
7
|
+
S3Lib: any;
|
|
8
|
+
bucket: string;
|
|
9
|
+
client: any;
|
|
10
|
+
file: string;
|
|
11
|
+
input: object[];
|
|
12
|
+
}) => Promise<any>;
|
|
13
|
+
export default writeGlueJsonFile;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (_) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.writeGlueJsonFile = void 0;
|
|
40
|
+
var array_1 = require("../../array");
|
|
41
|
+
var writeFile_1 = require("./writeFile");
|
|
42
|
+
/**
|
|
43
|
+
* Convert the object into a JSON file so it's ready to be used with AWS Glue.
|
|
44
|
+
* Input: Must be an array of objects that are the same.
|
|
45
|
+
* Output: No array [] brackets, each object must on its own new line.
|
|
46
|
+
*/
|
|
47
|
+
var writeGlueJsonFile = function (_a) {
|
|
48
|
+
var S3Lib = _a.S3Lib, bucket = _a.bucket, client = _a.client, file = _a.file, input = _a.input;
|
|
49
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
50
|
+
var inputArray, stringRows, concatString;
|
|
51
|
+
return __generator(this, function (_b) {
|
|
52
|
+
switch (_b.label) {
|
|
53
|
+
case 0:
|
|
54
|
+
inputArray = (0, array_1.getArray)({ input: input });
|
|
55
|
+
stringRows = inputArray.map(function (row) { return JSON.stringify(row); });
|
|
56
|
+
concatString = stringRows.join("\n");
|
|
57
|
+
return [4 /*yield*/, (0, writeFile_1.writeFile)({ S3Lib: S3Lib, bucket: bucket, client: client, file: file, content: concatString })];
|
|
58
|
+
case 1: return [2 /*return*/, _b.sent()];
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
};
|
|
63
|
+
exports.writeGlueJsonFile = writeGlueJsonFile;
|
|
64
|
+
exports.default = exports.writeGlueJsonFile;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ApiResponseType } from '../../api';
|
|
2
|
+
import { AwsConfigType } from '../types';
|
|
3
|
+
declare type WritePresignedPostType = {
|
|
4
|
+
bucket: string;
|
|
5
|
+
config: AwsConfigType;
|
|
6
|
+
fields: any;
|
|
7
|
+
file: any;
|
|
8
|
+
fileName: string;
|
|
9
|
+
url: string;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Get a presigned post URL so we can upload directly to S3 via frontend.
|
|
13
|
+
*/
|
|
14
|
+
declare const writePresignedPost: ({ bucket, config, fields, file, fileName, url }: WritePresignedPostType) => Promise<ApiResponseType>;
|
|
15
|
+
export default writePresignedPost;
|