@8ms/helpers 1.1.66 → 1.1.71
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/api/response.js +2 -2
- package/api/states.js +1 -1
- package/api/unexpectedError.js +1 -1
- package/array/contains.js +1 -4
- package/array/getArray.js +2 -5
- package/aws/athenaExpress/initClient.d.ts +1 -1
- package/aws/athenaExpress/initClient.js +6 -7
- package/aws/athenaExpress/query.d.ts +8 -0
- package/aws/athenaExpress/query.js +10 -0
- package/aws/getConfig.d.ts +5 -1
- package/aws/getConfig.js +2 -3
- package/aws/glue/initClient.d.ts +5 -4
- package/aws/glue/initClient.js +4 -5
- package/aws/glue/invoke.d.ts +1 -3
- package/aws/glue/invoke.js +12 -63
- package/aws/isResponse200.js +4 -5
- package/aws/lambda/getHandlerPath.d.ts +4 -3
- package/aws/lambda/getHandlerPath.js +3 -4
- package/aws/lambda/initClient.d.ts +5 -4
- package/aws/lambda/initClient.js +4 -5
- package/aws/lambda/invoke.d.ts +1 -3
- package/aws/lambda/invoke.js +29 -77
- package/aws/s3/copyFile.js +7 -55
- package/aws/s3/deleteFile.js +6 -54
- package/aws/s3/deleteFiles.d.ts +5 -6
- package/aws/s3/deleteFiles.js +10 -58
- package/aws/s3/deleteFolder.d.ts +5 -6
- package/aws/s3/deleteFolder.js +26 -76
- package/aws/s3/getGlueJson.d.ts +3 -2
- package/aws/s3/getGlueJson.js +4 -5
- package/aws/s3/getPresignedPost.d.ts +6 -7
- package/aws/s3/getPresignedPost.js +9 -56
- package/aws/s3/getSignedUrl.js +8 -76
- package/aws/s3/initClient.d.ts +5 -4
- package/aws/s3/initClient.js +4 -5
- package/aws/s3/isFileExists.js +17 -66
- package/aws/s3/listFiles.js +22 -69
- package/aws/s3/listFolders.js +21 -68
- package/aws/s3/moveFile.d.ts +5 -4
- package/aws/s3/moveFile.js +10 -58
- package/aws/s3/readBuffer.js +41 -89
- package/aws/s3/readFile.js +42 -93
- package/aws/s3/writeFile.js +10 -72
- package/aws/s3/writePresignedPost.d.ts +2 -3
- package/aws/s3/writePresignedPost.js +22 -93
- package/aws/s3cache/getCache.js +25 -69
- package/aws/s3cache/getKey.js +7 -8
- package/aws/s3cache/saveCache.js +3 -49
- package/aws/s3cache/updateCache.js +13 -65
- package/aws/ses/SimpleEmail.d.ts +10 -13
- package/aws/ses/SimpleEmail.js +85 -189
- package/aws/ses/initClient.d.ts +5 -4
- package/aws/ses/initClient.js +4 -5
- package/aws/ssm/getParameter.js +31 -78
- package/aws/ssm/initClient.d.ts +5 -4
- package/aws/ssm/initClient.js +4 -5
- package/axios/get.js +35 -106
- package/axios/post.js +35 -106
- package/boolean/getBoolean.js +2 -3
- package/class/BaseClass.js +15 -22
- package/crypto/getDecrypt.js +3 -4
- package/crypto/getEncrypt.js +3 -4
- package/crypto/getRandom.js +1 -2
- package/crypto/getSha256.js +4 -5
- package/date/durationComparisons.js +1 -1
- package/date/durations.js +1 -1
- package/date/format.js +7 -8
- package/date/getDate.js +19 -20
- package/date/getDatesBetween.js +8 -9
- package/date/getDurationHours.js +6 -7
- package/date/getDurationMinutes.js +6 -7
- package/date/getFinancialYear.js +11 -12
- package/date/getFinancialYearToDate.js +5 -5
- package/date/getFinancialYearToYesterday.js +5 -5
- package/date/getFinancialYearWeeks.js +10 -11
- package/date/getLastWeek.js +11 -12
- package/date/getMax.js +5 -6
- package/date/getMidnight.js +2 -3
- package/date/getMin.js +5 -6
- package/date/getMonday.js +10 -11
- package/date/getNumber.js +4 -5
- package/date/getPredefinedTimeframe.js +5 -6
- package/date/getSunday.js +10 -11
- package/date/getThisWeek.js +11 -12
- package/date/getTimeZoned.js +11 -12
- package/date/getToday.js +6 -7
- package/date/getTwoWeeksAgo.js +11 -12
- package/date/getWeeksAgo.js +5 -6
- package/date/getYesterday.js +7 -8
- package/date/isDateValid.js +6 -7
- package/date/isLastWeek.js +3 -4
- package/date/isThisWeek.js +3 -4
- package/date/parseExcelDate.js +9 -10
- package/deepCrawl/buildRequest.js +19 -20
- package/deepCrawl/getData.js +21 -79
- package/deepCrawl/initClient.js +17 -64
- package/deepCrawl/operands.js +1 -1
- package/deepCrawl/orders.js +1 -1
- package/deepCrawl/reports.js +1 -1
- package/environment/environments.js +1 -1
- package/environment/getEnvironment.js +8 -8
- package/environment/isAws.js +2 -2
- package/environment/isDevelopment.js +3 -3
- package/environment/isLocalhost.js +4 -4
- package/environment/isProduction.js +3 -3
- package/environment/isStaging.js +3 -3
- package/environment/isVercel.js +1 -1
- package/environment/platforms.d.ts +1 -1
- package/environment/platforms.js +1 -1
- package/eskimi/ageGroups.js +1 -1
- package/eskimi/devices.js +1 -1
- package/eskimi/endpoints.js +1 -1
- package/eskimi/genders.js +1 -1
- package/eskimi/getAccessToken.js +11 -57
- package/eskimi/getAgeGroup.js +3 -4
- package/eskimi/getCampaignIds.js +2 -3
- package/eskimi/getDevice.js +3 -4
- package/eskimi/getGender.js +3 -4
- package/eskimi/request.js +13 -59
- package/google/bigQuery/initClient.d.ts +11 -0
- package/google/bigQuery/initClient.js +22 -0
- package/google/bigQuery/query.d.ts +9 -0
- package/google/bigQuery/query.js +10 -0
- package/google/getConfig.d.ts +20 -0
- package/google/getConfig.js +23 -0
- package/google/sheets/getAssociatedData.d.ts +2 -6
- package/google/sheets/getAssociatedData.js +42 -89
- package/google/sheets/getBatchData.d.ts +1 -3
- package/google/sheets/getBatchData.js +15 -60
- package/google/sheets/initClient.d.ts +11 -0
- package/google/sheets/initClient.js +25 -0
- package/google/sheets/isCellNa.js +1 -4
- package/google/storage/initClient.d.ts +12 -0
- package/google/storage/initClient.js +23 -0
- package/google/storage/writeFile.d.ts +2 -1
- package/google/storage/writeFile.js +20 -77
- package/googleAds/getCustomer.js +7 -48
- package/googleAds/initClient.d.ts +9 -8
- package/googleAds/initClient.js +13 -56
- package/initClients.d.ts +13 -3
- package/initClients.js +95 -101
- package/json/isJson.js +1 -2
- package/littleWarden/getUrlStatus.js +10 -56
- package/littleWarden/isAllGood.js +3 -4
- package/littleWarden/isDanger.js +3 -4
- package/littleWarden/isWarning.js +3 -4
- package/littleWarden/states.js +1 -1
- package/myTarget/getAccessToken.js +11 -57
- package/myTarget/request.js +13 -59
- package/nextAuth/isSessionReady.js +2 -3
- package/nextAuth/states.js +1 -1
- package/nextJs/getIp.js +2 -3
- package/nextJs/getUserAgent.js +1 -4
- package/number/getDivide.js +4 -5
- package/number/getNumber.js +6 -7
- package/number/getPercent.js +4 -5
- package/number/getPercentIncrease.js +4 -5
- package/number/getRounded.js +5 -6
- package/package.json +2 -1
- package/prisma/initClient.js +4 -5
- package/snapchat/getAccessToken.js +25 -72
- package/sorting/byNumberAscending.js +3 -4
- package/sorting/byNumberDescending.js +3 -4
- package/sorting/byStringAscending.js +3 -4
- package/sorting/byStringDescending.js +3 -4
- package/string/formatCapitalise.js +2 -3
- package/string/getCleanFolder.js +3 -6
- package/string/getString.js +9 -10
- package/string/getStringFromStream.js +7 -8
- package/string/toProperCase.js +6 -7
- package/swr/isAllData.js +4 -5
- package/swr/isAnyError.js +4 -5
- package/swr/isAnyLoading.js +4 -5
- package/swr/isData.js +1 -4
- package/swr/isError.js +1 -4
- package/swr/isLoading.js +3 -6
- package/upTimeRobot/getMonitors.d.ts +1 -0
- package/upTimeRobot/getMonitors.js +33 -0
- package/upTimeRobot/logTypes.d.ts +7 -0
- package/upTimeRobot/logTypes.js +9 -0
- package/upTimeRobot/monitorStatuses.d.ts +8 -0
- package/upTimeRobot/monitorStatuses.js +10 -0
- package/upTimeRobot/monitorSubTypes.d.ts +10 -0
- package/upTimeRobot/monitorSubTypes.js +12 -0
- package/upTimeRobot/monitorTypes.d.ts +8 -0
- package/upTimeRobot/monitorTypes.js +10 -0
- package/upTimeRobot/requestStatuses.d.ts +5 -0
- package/upTimeRobot/requestStatuses.js +7 -0
- package/url/buildParameters.js +7 -8
- package/url/buildRelative.js +3 -4
- package/url/buildUrl.js +6 -7
- package/url/isAbsolute.js +1 -2
- package/url/isRelative.js +2 -5
- package/util/defaultTo.d.ts +6 -5
- package/util/defaultTo.js +6 -7
- package/util/isUndefined.d.ts +9 -0
- package/util/isUndefined.js +19 -0
- package/util/sleep.js +2 -3
- package/webWorker/states.js +1 -1
- package/xml/getXml.js +10 -58
- package/aws/athenaExpress/request.d.ts +0 -8
- package/aws/athenaExpress/request.js +0 -54
- package/aws/config.d.ts +0 -5
- package/aws/config.js +0 -2
- package/google/getCredentials.d.ts +0 -20
- package/google/getCredentials.js +0 -76
- package/google/sheets/getAuth.d.ts +0 -8
- package/google/sheets/getAuth.js +0 -69
|
@@ -1,67 +1,21 @@
|
|
|
1
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
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
4
|
};
|
|
41
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
-
|
|
6
|
+
const get_1 = __importDefault(require("../axios/get"));
|
|
43
7
|
/**
|
|
44
8
|
* Get the URL Status for a given URL ID from Little Warden.
|
|
45
9
|
*/
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
headers: {
|
|
55
|
-
'Authorization': "Token token=\"".concat(apiKey, "\""),
|
|
56
|
-
},
|
|
57
|
-
},
|
|
58
|
-
url: "https://littlewarden.com/api/sites/".concat(urlId),
|
|
59
|
-
})];
|
|
60
|
-
case 1:
|
|
61
|
-
response = _b.sent();
|
|
62
|
-
return [2 /*return*/, response.data.site || {}];
|
|
63
|
-
}
|
|
64
|
-
});
|
|
10
|
+
const getUrlStatus = async ({ apiKey, urlId }) => {
|
|
11
|
+
const response = await (0, get_1.default)({
|
|
12
|
+
config: {
|
|
13
|
+
headers: {
|
|
14
|
+
'Authorization': `Token token="${apiKey}"`,
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
url: `https://littlewarden.com/api/sites/${urlId}`,
|
|
65
18
|
});
|
|
19
|
+
return response.data.site || {};
|
|
66
20
|
};
|
|
67
21
|
exports.default = getUrlStatus;
|
|
@@ -3,13 +3,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
|
|
6
|
+
const states_1 = __importDefault(require("./states"));
|
|
7
7
|
/**
|
|
8
8
|
* Check if the field is All Good.
|
|
9
9
|
*/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
var response = false;
|
|
10
|
+
const isAllGood = ({ field }) => {
|
|
11
|
+
let response = false;
|
|
13
12
|
// Check that the status field exists
|
|
14
13
|
if (undefined !== field && undefined !== field['status']) {
|
|
15
14
|
response = states_1.default.ALL_GOOD === field['status'];
|
package/littleWarden/isDanger.js
CHANGED
|
@@ -3,13 +3,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
|
|
6
|
+
const states_1 = __importDefault(require("./states"));
|
|
7
7
|
/**
|
|
8
8
|
* Check if the field is Danger.
|
|
9
9
|
*/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
var response = false;
|
|
10
|
+
const isDanger = ({ field }) => {
|
|
11
|
+
let response = false;
|
|
13
12
|
// Check that the status field exists
|
|
14
13
|
if (undefined !== field && undefined !== field['status']) {
|
|
15
14
|
response = states_1.default.DANGER === field['status'];
|
|
@@ -3,13 +3,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
|
|
6
|
+
const states_1 = __importDefault(require("./states"));
|
|
7
7
|
/**
|
|
8
8
|
* Check if the field is Warning.
|
|
9
9
|
*/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
var response = false;
|
|
10
|
+
const isWarning = ({ field }) => {
|
|
11
|
+
let response = false;
|
|
13
12
|
// Check that the status field exists
|
|
14
13
|
if (undefined !== field && undefined !== field['status']) {
|
|
15
14
|
response = states_1.default.WARNING === field['status'];
|
package/littleWarden/states.js
CHANGED
|
@@ -1,69 +1,23 @@
|
|
|
1
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
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
4
|
};
|
|
41
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
-
|
|
6
|
+
const getParameter_1 = __importDefault(require("../aws/ssm/getParameter"));
|
|
43
7
|
global.myTargetAccessToken = null;
|
|
44
8
|
/**
|
|
45
9
|
* Retrieve the access token from SSM Parameter Store.
|
|
46
10
|
*/
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
if (!(!global.myTargetAccessToken || force)) return [3 /*break*/, 2];
|
|
55
|
-
return [4 /*yield*/, (0, getParameter_1.default)({
|
|
56
|
-
name: parameterName,
|
|
57
|
-
withDecryption: true,
|
|
58
|
-
isJson: true,
|
|
59
|
-
})];
|
|
60
|
-
case 1:
|
|
61
|
-
parameter = _b.sent();
|
|
62
|
-
global.myTargetAccessToken = parameter.accessToken;
|
|
63
|
-
_b.label = 2;
|
|
64
|
-
case 2: return [2 /*return*/, global.myTargetAccessToken];
|
|
65
|
-
}
|
|
11
|
+
const getAccessToken = async ({ force, parameterName }) => {
|
|
12
|
+
if (!global.myTargetAccessToken || force) {
|
|
13
|
+
// Get the credentials from SSM
|
|
14
|
+
const parameter = await (0, getParameter_1.default)({
|
|
15
|
+
name: parameterName,
|
|
16
|
+
withDecryption: true,
|
|
17
|
+
isJson: true,
|
|
66
18
|
});
|
|
67
|
-
|
|
19
|
+
global.myTargetAccessToken = parameter.accessToken;
|
|
20
|
+
}
|
|
21
|
+
return global.myTargetAccessToken;
|
|
68
22
|
};
|
|
69
23
|
exports.default = getAccessToken;
|
package/myTarget/request.js
CHANGED
|
@@ -1,70 +1,24 @@
|
|
|
1
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
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
4
|
};
|
|
41
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
-
|
|
6
|
+
const post_1 = __importDefault(require("../axios/post"));
|
|
43
7
|
/**
|
|
44
8
|
* Make the request to MyTarget API using the access token.
|
|
45
9
|
*/
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
},
|
|
58
|
-
},
|
|
59
|
-
data: data,
|
|
60
|
-
onSuccess: function (response) { return response.data; },
|
|
61
|
-
url: url,
|
|
62
|
-
})];
|
|
63
|
-
case 1:
|
|
64
|
-
response = _b.sent();
|
|
65
|
-
return [2 /*return*/, response];
|
|
66
|
-
}
|
|
67
|
-
});
|
|
10
|
+
const request = async ({ data, url }) => {
|
|
11
|
+
const response = await (0, post_1.default)({
|
|
12
|
+
config: {
|
|
13
|
+
headers: {
|
|
14
|
+
Authorization: `Bearer ${global.myTargetAccessToken}`,
|
|
15
|
+
"Content-Type": "application/json",
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
data: data,
|
|
19
|
+
onSuccess: response => response.data,
|
|
20
|
+
url: url,
|
|
68
21
|
});
|
|
22
|
+
return response;
|
|
69
23
|
};
|
|
70
24
|
exports.default = request;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
var response = false;
|
|
3
|
+
const isSessionReady = ({ session }) => {
|
|
4
|
+
let response = false;
|
|
6
5
|
if (undefined !== session && null !== session) {
|
|
7
6
|
if (undefined !== session.user && null !== session.user) {
|
|
8
7
|
response = true;
|
package/nextAuth/states.js
CHANGED
package/nextJs/getIp.js
CHANGED
|
@@ -3,9 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
/**
|
|
4
4
|
* Get the user's remote IP Address
|
|
5
5
|
*/
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var response = 'unset';
|
|
6
|
+
const getIp = ({ req }) => {
|
|
7
|
+
let response = 'unset';
|
|
9
8
|
if (undefined !== req.headers['x-real-ip']) {
|
|
10
9
|
response = String(req.headers['x-real-ip']);
|
|
11
10
|
}
|
package/nextJs/getUserAgent.js
CHANGED
|
@@ -3,8 +3,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
/**
|
|
4
4
|
* Get the user's User Agent
|
|
5
5
|
*/
|
|
6
|
-
|
|
7
|
-
var req = _a.req;
|
|
8
|
-
return req.headers['user-agent'] || 'unset';
|
|
9
|
-
};
|
|
6
|
+
const getUserAgent = ({ req }) => req.headers['user-agent'] || 'unset';
|
|
10
7
|
exports.default = getUserAgent;
|
package/number/getDivide.js
CHANGED
|
@@ -3,14 +3,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
|
|
6
|
+
const getNumber_1 = __importDefault(require("./getNumber"));
|
|
7
7
|
/**
|
|
8
8
|
* Shorthand function to divide number, but fallback if the divisor is 0.
|
|
9
9
|
*/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
var divisorInt = (0, getNumber_1.default)({ input: divisor });
|
|
10
|
+
const getDivide = ({ defaultValue = 0, divisor, numerator }) => {
|
|
11
|
+
const numeratorInt = (0, getNumber_1.default)({ input: numerator });
|
|
12
|
+
const divisorInt = (0, getNumber_1.default)({ input: divisor });
|
|
14
13
|
if (0 === divisorInt) {
|
|
15
14
|
return defaultValue;
|
|
16
15
|
}
|
package/number/getNumber.js
CHANGED
|
@@ -3,16 +3,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
|
|
6
|
+
const isJson_1 = __importDefault(require("../json/isJson"));
|
|
7
7
|
/**
|
|
8
8
|
* Take an input and return a number.
|
|
9
9
|
*/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
var response = input;
|
|
10
|
+
const getNumber = ({ defaultValue = 0, input = '' }) => {
|
|
11
|
+
const actualDefaultValue = defaultValue || 0;
|
|
12
|
+
let response = input;
|
|
14
13
|
// JSON - Decode the value
|
|
15
|
-
if ((0, isJson_1.default)({ input
|
|
14
|
+
if ((0, isJson_1.default)({ input })) {
|
|
16
15
|
// Only parse this if it's a string
|
|
17
16
|
if ('string' === typeof input) {
|
|
18
17
|
response = JSON.parse(input);
|
|
@@ -32,7 +31,7 @@ var getNumber = function (_a) {
|
|
|
32
31
|
response = Number(response);
|
|
33
32
|
// Not a number, try extracting the number value
|
|
34
33
|
if (isNaN(response)) {
|
|
35
|
-
|
|
34
|
+
const match = RegExp(/^\D*([0-9\.]*)\D*$/, 'g')
|
|
36
35
|
.exec(input);
|
|
37
36
|
if (match.length) {
|
|
38
37
|
response = Number(match[1]);
|
package/number/getPercent.js
CHANGED
|
@@ -3,14 +3,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
|
|
6
|
+
const getNumber_1 = __importDefault(require("./getNumber"));
|
|
7
7
|
/**
|
|
8
8
|
* Get the percentage of two numbers.
|
|
9
9
|
*/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
var cleanDivisor = (0, getNumber_1.default)({ input: divisor });
|
|
10
|
+
const getPercent = ({ defaultValue = 0, divisor, value }) => {
|
|
11
|
+
const cleanValue = (0, getNumber_1.default)({ input: value });
|
|
12
|
+
const cleanDivisor = (0, getNumber_1.default)({ input: divisor });
|
|
14
13
|
if (0 === cleanDivisor) {
|
|
15
14
|
return defaultValue;
|
|
16
15
|
}
|
|
@@ -3,14 +3,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
|
|
6
|
+
const getNumber_1 = __importDefault(require("./getNumber"));
|
|
7
7
|
/**
|
|
8
8
|
* Formula to work out the percentage increase/decrease.
|
|
9
9
|
*/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
var comparisonValue = (0, getNumber_1.default)({ input: comparison });
|
|
10
|
+
const getPercentageIncrease = ({ comparison, current, defaultValue }) => {
|
|
11
|
+
const currentValue = (0, getNumber_1.default)({ input: current });
|
|
12
|
+
const comparisonValue = (0, getNumber_1.default)({ input: comparison });
|
|
14
13
|
if (0 === currentValue) {
|
|
15
14
|
return defaultValue;
|
|
16
15
|
}
|
package/number/getRounded.js
CHANGED
|
@@ -3,15 +3,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
|
|
6
|
+
const getNumber_1 = __importDefault(require("./getNumber"));
|
|
7
7
|
/**
|
|
8
8
|
* Round a number using the Numbro library.
|
|
9
9
|
*/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
var stringNumber = numbro(inputNumber)
|
|
10
|
+
const getRounded = ({ decimalPlaces, input }) => {
|
|
11
|
+
const numbro = require('numbro');
|
|
12
|
+
const inputNumber = (0, getNumber_1.default)({ defaultValue: 0, input });
|
|
13
|
+
const stringNumber = numbro(inputNumber)
|
|
15
14
|
.format({
|
|
16
15
|
average: false,
|
|
17
16
|
mantissa: decimalPlaces,
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@8ms/helpers",
|
|
3
3
|
"license": "UNLICENSED",
|
|
4
|
-
"version": "1.1.
|
|
4
|
+
"version": "1.1.71",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "git+https://github.com/8millionstories-organisation/8ms-helpers-ts.git"
|
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
"@babel/preset-env": "7.18.10",
|
|
28
28
|
"@babel/preset-flow": "7.18.6",
|
|
29
29
|
"@babel/preset-typescript": "7.18.6",
|
|
30
|
+
"@google-cloud/bigquery": "6.0.2",
|
|
30
31
|
"@google-cloud/storage": "6.4.1",
|
|
31
32
|
"@prisma/client": "4.3.0",
|
|
32
33
|
"@types/jest": "29.0.0",
|
package/prisma/initClient.js
CHANGED
|
@@ -7,10 +7,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
7
7
|
* Library: @prisma/client, prisma-query-log
|
|
8
8
|
*/
|
|
9
9
|
global.prisma = null;
|
|
10
|
-
|
|
11
|
-
var _b = _a === void 0 ? { debug: false } : _a, debug = _b.debug;
|
|
10
|
+
const initClient = ({ debug } = { debug: false }) => {
|
|
12
11
|
if (!global.prisma) {
|
|
13
|
-
|
|
12
|
+
const { PrismaClient } = require('@prisma/client');
|
|
14
13
|
// Show the full query if debugging
|
|
15
14
|
if (debug) {
|
|
16
15
|
global.prisma = new PrismaClient({
|
|
@@ -21,8 +20,8 @@ var initClient = function (_a) {
|
|
|
21
20
|
},
|
|
22
21
|
],
|
|
23
22
|
});
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
const { createPrismaQueryEventHandler } = require('prisma-query-log');
|
|
24
|
+
const log = createPrismaQueryEventHandler();
|
|
26
25
|
global.prisma.$on('query', log);
|
|
27
26
|
}
|
|
28
27
|
// Standard prisma
|
|
@@ -1,84 +1,37 @@
|
|
|
1
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
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
4
|
};
|
|
41
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
-
|
|
43
|
-
|
|
6
|
+
const getParameter_1 = __importDefault(require("../aws/ssm/getParameter"));
|
|
7
|
+
const post_1 = __importDefault(require("../axios/post"));
|
|
44
8
|
global.snapchatAccessToken = null;
|
|
45
9
|
/**
|
|
46
10
|
* Renew the access token as it expires every 3 hours.
|
|
47
11
|
*/
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
if (!(!global.snapchatAccessToken || force)) return [3 /*break*/, 3];
|
|
56
|
-
return [4 /*yield*/, (0, getParameter_1.default)({
|
|
57
|
-
name: parameterName,
|
|
58
|
-
withDecryption: true,
|
|
59
|
-
isJson: true,
|
|
60
|
-
})];
|
|
61
|
-
case 1:
|
|
62
|
-
parameter = _b.sent();
|
|
63
|
-
url = "https://accounts.snapchat.com/login/oauth2/access_token";
|
|
64
|
-
url += "?client_id=".concat(parameter.clientId);
|
|
65
|
-
url += "&client_secret=".concat(parameter.clientSecret);
|
|
66
|
-
url += "&grant_type=refresh_token";
|
|
67
|
-
url += "&refresh_token=".concat(parameter.refreshToken);
|
|
68
|
-
return [4 /*yield*/, (0, post_1.default)({
|
|
69
|
-
onSuccess: function (apiResponse) {
|
|
70
|
-
if (undefined !== apiResponse['data']['access_token']) {
|
|
71
|
-
global.snapchatAccessToken = apiResponse['data']['access_token'];
|
|
72
|
-
}
|
|
73
|
-
},
|
|
74
|
-
url: url,
|
|
75
|
-
})];
|
|
76
|
-
case 2:
|
|
77
|
-
_b.sent();
|
|
78
|
-
_b.label = 3;
|
|
79
|
-
case 3: return [2 /*return*/, global.snapchatAccessToken];
|
|
80
|
-
}
|
|
12
|
+
const getAccessToken = async ({ force, parameterName }) => {
|
|
13
|
+
if (!global.snapchatAccessToken || force) {
|
|
14
|
+
// Get the credentials from SSM
|
|
15
|
+
const parameter = await (0, getParameter_1.default)({
|
|
16
|
+
name: parameterName,
|
|
17
|
+
withDecryption: true,
|
|
18
|
+
isJson: true,
|
|
81
19
|
});
|
|
82
|
-
|
|
20
|
+
// Build the token request for Snapchat
|
|
21
|
+
let url = `https://accounts.snapchat.com/login/oauth2/access_token`;
|
|
22
|
+
url += `?client_id=${parameter.clientId}`;
|
|
23
|
+
url += `&client_secret=${parameter.clientSecret}`;
|
|
24
|
+
url += `&grant_type=refresh_token`;
|
|
25
|
+
url += `&refresh_token=${parameter.refreshToken}`;
|
|
26
|
+
await (0, post_1.default)({
|
|
27
|
+
onSuccess: apiResponse => {
|
|
28
|
+
if (undefined !== apiResponse['data']['access_token']) {
|
|
29
|
+
global.snapchatAccessToken = apiResponse['data']['access_token'];
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
url: url,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
return global.snapchatAccessToken;
|
|
83
36
|
};
|
|
84
37
|
exports.default = getAccessToken;
|
|
@@ -3,10 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
/**
|
|
4
4
|
* Take two values, ensure they are numbers and return the sorting value.
|
|
5
5
|
*/
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
var valueBClean = Number(valueB);
|
|
6
|
+
const byNumberAscending = ({ valueA, valueB }) => {
|
|
7
|
+
let valueAClean = Number(valueA);
|
|
8
|
+
let valueBClean = Number(valueB);
|
|
10
9
|
if (valueAClean > valueBClean) {
|
|
11
10
|
return 1;
|
|
12
11
|
}
|