@8ms/helpers 1.0.4 → 1.0.5
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/constants.d.ts +2 -5
- package/dist/api/constants.js +1 -1
- package/dist/api/types.d.ts +1 -1
- package/dist/array/contains.d.ts +8 -0
- package/dist/array/contains.js +10 -0
- package/dist/array/index.d.ts +2 -1
- package/dist/array/index.js +3 -1
- package/dist/aws/s3/getSignedUrl.js +1 -1
- package/dist/aws/s3/writePresignedPost.js +1 -1
- package/dist/axios/get.d.ts +3 -0
- package/dist/axios/get.js +85 -0
- package/dist/axios/index.d.ts +5 -0
- package/dist/axios/index.js +10 -0
- package/dist/axios/post.d.ts +6 -0
- package/dist/axios/post.js +88 -0
- package/dist/axios/types.d.ts +13 -0
- package/dist/axios/types.js +2 -0
- package/dist/crypto/getRandom.d.ts +2 -1
- package/dist/crypto/getRandom.js +2 -1
- package/dist/crypto/getSha256.d.ts +1 -0
- package/dist/crypto/getSha256.js +1 -0
- package/dist/eskimi/constants.d.ts +27 -0
- package/dist/eskimi/constants.js +76 -0
- package/dist/eskimi/getAccessToken.d.ts +14 -0
- package/dist/eskimi/getAccessToken.js +71 -0
- package/dist/eskimi/getAgeGroup.d.ts +7 -0
- package/dist/eskimi/getAgeGroup.js +17 -0
- package/dist/eskimi/getCampaignIds.d.ts +7 -0
- package/dist/eskimi/getCampaignIds.js +13 -0
- package/dist/eskimi/getDevice.d.ts +7 -0
- package/dist/eskimi/getDevice.js +15 -0
- package/dist/eskimi/getGender.d.ts +7 -0
- package/dist/eskimi/getGender.js +15 -0
- package/dist/eskimi/index.d.ts +10 -0
- package/dist/eskimi/index.js +23 -0
- package/dist/eskimi/request.d.ts +9 -0
- package/dist/eskimi/request.js +67 -0
- package/dist/eskimi/types.d.ts +19 -0
- package/dist/eskimi/types.js +2 -0
- package/dist/google/getCredentials.d.ts +2 -7
- package/dist/google/sheets/getAuth.d.ts +10 -0
- package/dist/google/sheets/getAuth.js +65 -0
- package/dist/google/sheets/index.d.ts +3 -0
- package/dist/google/sheets/index.js +8 -0
- package/dist/google/types.d.ts +6 -0
- package/dist/json/index.d.ts +3 -0
- package/dist/json/index.js +8 -0
- package/dist/json/isJson.d.ts +8 -0
- package/dist/json/isJson.js +21 -0
- package/dist/myTarget/getAccessToken.d.ts +12 -0
- package/dist/myTarget/getAccessToken.js +71 -0
- package/dist/myTarget/index.d.ts +4 -0
- package/dist/myTarget/index.js +10 -0
- package/dist/myTarget/request.d.ts +9 -0
- package/dist/myTarget/request.js +67 -0
- package/dist/number/getNumber.d.ts +8 -0
- package/dist/number/getNumber.js +38 -0
- package/dist/number/getPercent.d.ts +9 -0
- package/dist/number/getPercent.js +19 -0
- package/dist/number/getPercentIncrease.d.ts +9 -0
- package/dist/number/getPercentIncrease.js +19 -0
- package/dist/number/index.d.ts +5 -0
- package/dist/number/index.js +12 -0
- package/dist/snapchat/getAccessToken.d.ts +12 -0
- package/dist/snapchat/getAccessToken.js +86 -0
- package/dist/snapchat/index.d.ts +3 -0
- package/dist/snapchat/index.js +8 -0
- package/package.json +2 -2
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AgeGroups, Devices, Endpoints, Genders } from './constants';
|
|
2
|
+
import getAccessToken from './getAccessToken';
|
|
3
|
+
import getAgeGroup from './getAgeGroup';
|
|
4
|
+
import getCampaignIds from './getCampaignIds';
|
|
5
|
+
import getDevice from './getDevice';
|
|
6
|
+
import getGender from './getGender';
|
|
7
|
+
import request from './request';
|
|
8
|
+
import { CampaignType } from './types';
|
|
9
|
+
export type { CampaignType, };
|
|
10
|
+
export { AgeGroups, Devices, Endpoints, Genders, getAccessToken, getAgeGroup, getCampaignIds, getDevice, getGender, request, };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.request = exports.getGender = exports.getDevice = exports.getCampaignIds = exports.getAgeGroup = exports.getAccessToken = exports.Genders = exports.Endpoints = exports.Devices = exports.AgeGroups = void 0;
|
|
7
|
+
var constants_1 = require("./constants");
|
|
8
|
+
Object.defineProperty(exports, "AgeGroups", { enumerable: true, get: function () { return constants_1.AgeGroups; } });
|
|
9
|
+
Object.defineProperty(exports, "Devices", { enumerable: true, get: function () { return constants_1.Devices; } });
|
|
10
|
+
Object.defineProperty(exports, "Endpoints", { enumerable: true, get: function () { return constants_1.Endpoints; } });
|
|
11
|
+
Object.defineProperty(exports, "Genders", { enumerable: true, get: function () { return constants_1.Genders; } });
|
|
12
|
+
var getAccessToken_1 = __importDefault(require("./getAccessToken"));
|
|
13
|
+
exports.getAccessToken = getAccessToken_1.default;
|
|
14
|
+
var getAgeGroup_1 = __importDefault(require("./getAgeGroup"));
|
|
15
|
+
exports.getAgeGroup = getAgeGroup_1.default;
|
|
16
|
+
var getCampaignIds_1 = __importDefault(require("./getCampaignIds"));
|
|
17
|
+
exports.getCampaignIds = getCampaignIds_1.default;
|
|
18
|
+
var getDevice_1 = __importDefault(require("./getDevice"));
|
|
19
|
+
exports.getDevice = getDevice_1.default;
|
|
20
|
+
var getGender_1 = __importDefault(require("./getGender"));
|
|
21
|
+
exports.getGender = getGender_1.default;
|
|
22
|
+
var request_1 = __importDefault(require("./request"));
|
|
23
|
+
exports.request = request_1.default;
|
|
@@ -0,0 +1,67 @@
|
|
|
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 axios_1 = require("../axios");
|
|
40
|
+
/**
|
|
41
|
+
* Make the request to Eskimi API using the access token.
|
|
42
|
+
*/
|
|
43
|
+
var request = function (_a) {
|
|
44
|
+
var accessToken = _a.accessToken, data = _a.data, url = _a.url;
|
|
45
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
46
|
+
var response;
|
|
47
|
+
return __generator(this, function (_b) {
|
|
48
|
+
switch (_b.label) {
|
|
49
|
+
case 0: return [4 /*yield*/, (0, axios_1.post)({
|
|
50
|
+
config: {
|
|
51
|
+
headers: {
|
|
52
|
+
Authorization: "Bearer ".concat(accessToken),
|
|
53
|
+
"Content-Type": "application/json",
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
data: data,
|
|
57
|
+
onSuccess: function (response) { return response.data; },
|
|
58
|
+
url: url,
|
|
59
|
+
})];
|
|
60
|
+
case 1:
|
|
61
|
+
response = _b.sent();
|
|
62
|
+
return [2 /*return*/, response];
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
exports.default = request;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare type CampaignType = {
|
|
2
|
+
id: number;
|
|
3
|
+
name: string;
|
|
4
|
+
type: number;
|
|
5
|
+
user_id: number;
|
|
6
|
+
ad_domain: string;
|
|
7
|
+
click_url: string;
|
|
8
|
+
bid: string;
|
|
9
|
+
budget: any;
|
|
10
|
+
dates: any;
|
|
11
|
+
creative_set_ids: any;
|
|
12
|
+
audience_ids: any;
|
|
13
|
+
ad_placement_type_ids: any;
|
|
14
|
+
ad_placement_position_ids: any;
|
|
15
|
+
operator_ids: any;
|
|
16
|
+
devices: any;
|
|
17
|
+
auto_start: number;
|
|
18
|
+
created_at: string;
|
|
19
|
+
};
|
|
@@ -1,11 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { CredentialsType } from './types';
|
|
1
|
+
import { CredentialsType, GetCredentialsType } from './types';
|
|
3
2
|
/**
|
|
4
3
|
* Fetch the data from Parameter Store and return the data ready to be used with Google API.
|
|
5
4
|
*/
|
|
6
|
-
declare const getCredentials: ({ SsmLib, awsConfig, parameterName }:
|
|
7
|
-
SsmLib: any;
|
|
8
|
-
awsConfig: AwsConfigType;
|
|
9
|
-
parameterName: string;
|
|
10
|
-
}) => Promise<CredentialsType>;
|
|
5
|
+
declare const getCredentials: ({ SsmLib, awsConfig, parameterName }: GetCredentialsType) => Promise<CredentialsType>;
|
|
11
6
|
export default getCredentials;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { GetCredentialsType } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Initialise the Google Sheets instance using the separate service method.
|
|
4
|
+
* https://github.com/googleapis/google-api-nodejs-client
|
|
5
|
+
* Library: @googleapis/sheets
|
|
6
|
+
*/
|
|
7
|
+
declare const getAuth: ({ SheetsLib, SsmLib, awsConfig, parameterName }: GetCredentialsType & {
|
|
8
|
+
SheetsLib: any;
|
|
9
|
+
}) => Promise<any>;
|
|
10
|
+
export default getAuth;
|
|
@@ -0,0 +1,65 @@
|
|
|
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 __1 = require("../");
|
|
40
|
+
/**
|
|
41
|
+
* Initialise the Google Sheets instance using the separate service method.
|
|
42
|
+
* https://github.com/googleapis/google-api-nodejs-client
|
|
43
|
+
* Library: @googleapis/sheets
|
|
44
|
+
*/
|
|
45
|
+
var getAuth = function (_a) {
|
|
46
|
+
var SheetsLib = _a.SheetsLib, SsmLib = _a.SsmLib, awsConfig = _a.awsConfig, parameterName = _a.parameterName;
|
|
47
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
48
|
+
var credentials, auth;
|
|
49
|
+
return __generator(this, function (_b) {
|
|
50
|
+
switch (_b.label) {
|
|
51
|
+
case 0: return [4 /*yield*/, (0, __1.getCredentials)({ SsmLib: SsmLib, awsConfig: awsConfig, parameterName: parameterName })];
|
|
52
|
+
case 1:
|
|
53
|
+
credentials = _b.sent();
|
|
54
|
+
auth = new SheetsLib.auth.GoogleAuth({
|
|
55
|
+
credentials: credentials,
|
|
56
|
+
scopes: [
|
|
57
|
+
'https://www.googleapis.com/auth/spreadsheets',
|
|
58
|
+
],
|
|
59
|
+
});
|
|
60
|
+
return [2 /*return*/, auth];
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
};
|
|
65
|
+
exports.default = getAuth;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getAuth = void 0;
|
|
7
|
+
var getAuth_1 = __importDefault(require("./getAuth"));
|
|
8
|
+
exports.getAuth = getAuth_1.default;
|
package/dist/google/types.d.ts
CHANGED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.isJson = void 0;
|
|
7
|
+
var isJson_1 = __importDefault(require("./isJson"));
|
|
8
|
+
exports.isJson = isJson_1.default;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/**
|
|
4
|
+
* Is the provided input JSON?
|
|
5
|
+
* https://stackoverflow.com/a/33369954
|
|
6
|
+
*/
|
|
7
|
+
var isJson = function (_a) {
|
|
8
|
+
var input = _a.input;
|
|
9
|
+
input = 'string' === typeof input ? input : JSON.stringify(input);
|
|
10
|
+
try {
|
|
11
|
+
input = JSON.parse(input);
|
|
12
|
+
}
|
|
13
|
+
catch (e) {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
if ('object' === typeof input && null !== input) {
|
|
17
|
+
return true;
|
|
18
|
+
}
|
|
19
|
+
return false;
|
|
20
|
+
};
|
|
21
|
+
exports.default = isJson;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AwsConfigType } from '../aws';
|
|
2
|
+
declare type GetAccessTokenType = {
|
|
3
|
+
SsmLib: any;
|
|
4
|
+
awsConfig: AwsConfigType;
|
|
5
|
+
force: boolean;
|
|
6
|
+
ssmName: string;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Retrieve the access token from SSM Parameter Store.
|
|
10
|
+
*/
|
|
11
|
+
declare const getAccessToken: ({ SsmLib, awsConfig, force, ssmName, }: GetAccessTokenType) => Promise<void>;
|
|
12
|
+
export default getAccessToken;
|
|
@@ -0,0 +1,71 @@
|
|
|
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 ssm_1 = require("../aws/ssm");
|
|
40
|
+
var eskimiAccessToken;
|
|
41
|
+
/**
|
|
42
|
+
* Retrieve the access token from SSM Parameter Store.
|
|
43
|
+
*/
|
|
44
|
+
var getAccessToken = function (_a) {
|
|
45
|
+
var SsmLib = _a.SsmLib, awsConfig = _a.awsConfig, force = _a.force, ssmName = _a.ssmName;
|
|
46
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
47
|
+
var ssmClient, parameter;
|
|
48
|
+
return __generator(this, function (_b) {
|
|
49
|
+
switch (_b.label) {
|
|
50
|
+
case 0:
|
|
51
|
+
if (!(!global.eskimiAccessToken || force)) return [3 /*break*/, 2];
|
|
52
|
+
ssmClient = (0, ssm_1.getClient)({ SsmLib: SsmLib, config: awsConfig });
|
|
53
|
+
return [4 /*yield*/, (0, ssm_1.getParameter)({
|
|
54
|
+
SsmLib: SsmLib,
|
|
55
|
+
client: ssmClient,
|
|
56
|
+
name: ssmName,
|
|
57
|
+
withDecryption: true,
|
|
58
|
+
isJson: true,
|
|
59
|
+
})];
|
|
60
|
+
case 1:
|
|
61
|
+
parameter = _b.sent();
|
|
62
|
+
global.eskimiAccessToken = parameter.accessToken;
|
|
63
|
+
_b.label = 2;
|
|
64
|
+
case 2:
|
|
65
|
+
eskimiAccessToken = global.eskimiAccessToken;
|
|
66
|
+
return [2 /*return*/, eskimiAccessToken];
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
};
|
|
71
|
+
exports.default = getAccessToken;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.request = exports.getAccessToken = void 0;
|
|
7
|
+
var getAccessToken_1 = __importDefault(require("./getAccessToken"));
|
|
8
|
+
exports.getAccessToken = getAccessToken_1.default;
|
|
9
|
+
var request_1 = __importDefault(require("./request"));
|
|
10
|
+
exports.request = request_1.default;
|
|
@@ -0,0 +1,67 @@
|
|
|
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 axios_1 = require("../axios");
|
|
40
|
+
/**
|
|
41
|
+
* Make the request to MyTarget API using the access token.
|
|
42
|
+
*/
|
|
43
|
+
var request = function (_a) {
|
|
44
|
+
var accessToken = _a.accessToken, data = _a.data, url = _a.url;
|
|
45
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
46
|
+
var response;
|
|
47
|
+
return __generator(this, function (_b) {
|
|
48
|
+
switch (_b.label) {
|
|
49
|
+
case 0: return [4 /*yield*/, (0, axios_1.post)({
|
|
50
|
+
config: {
|
|
51
|
+
headers: {
|
|
52
|
+
Authorization: "Bearer ".concat(accessToken),
|
|
53
|
+
"Content-Type": "application/json",
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
data: data,
|
|
57
|
+
onSuccess: function (response) { return response.data; },
|
|
58
|
+
url: url,
|
|
59
|
+
})];
|
|
60
|
+
case 1:
|
|
61
|
+
response = _b.sent();
|
|
62
|
+
return [2 /*return*/, response];
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
exports.default = request;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var json_1 = require("../json");
|
|
4
|
+
/**
|
|
5
|
+
* Take an input and return a number.
|
|
6
|
+
*/
|
|
7
|
+
var getNumber = function (_a) {
|
|
8
|
+
var _b = _a === void 0 ? { defaultValue: 0, input: '' } : _a, defaultValue = _b.defaultValue, input = _b.input;
|
|
9
|
+
var actualDefaultValue = defaultValue || 0;
|
|
10
|
+
var response;
|
|
11
|
+
// JSON - Decode the value
|
|
12
|
+
if ((0, json_1.isJson)({ input: input })) {
|
|
13
|
+
response = JSON.parse(input);
|
|
14
|
+
}
|
|
15
|
+
// String input
|
|
16
|
+
if ('string' === typeof response) {
|
|
17
|
+
// Attempt to convert to number
|
|
18
|
+
response = Number(response);
|
|
19
|
+
// Not a number, try extracting the number value
|
|
20
|
+
if (isNaN(response)) {
|
|
21
|
+
var match = RegExp(/^\D*([0-9\.]*)\D*$/, 'g')
|
|
22
|
+
.exec(input);
|
|
23
|
+
if (match.length) {
|
|
24
|
+
response = Number(match[1]);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
// Attempt to convert to a number
|
|
29
|
+
else {
|
|
30
|
+
response = Number(response);
|
|
31
|
+
}
|
|
32
|
+
// Trouble converting the number, use default value
|
|
33
|
+
if (isNaN(response)) {
|
|
34
|
+
response = actualDefaultValue;
|
|
35
|
+
}
|
|
36
|
+
return response;
|
|
37
|
+
};
|
|
38
|
+
exports.default = getNumber;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
var getNumber_1 = __importDefault(require("./getNumber"));
|
|
7
|
+
/**
|
|
8
|
+
* Get the percentage of two numbers.
|
|
9
|
+
*/
|
|
10
|
+
var getPercentage = function (_a) {
|
|
11
|
+
var defaultValue = _a.defaultValue, divisor = _a.divisor, value = _a.value;
|
|
12
|
+
var cleanValue = (0, getNumber_1.default)({ input: value });
|
|
13
|
+
var cleanDivisor = (0, getNumber_1.default)({ input: divisor });
|
|
14
|
+
if (0 === cleanDivisor) {
|
|
15
|
+
return defaultValue;
|
|
16
|
+
}
|
|
17
|
+
return cleanValue / cleanDivisor;
|
|
18
|
+
};
|
|
19
|
+
exports.default = getPercentage;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
var getNumber_1 = __importDefault(require("./getNumber"));
|
|
7
|
+
/**
|
|
8
|
+
* Formula to work out the percentage increase/decrease.
|
|
9
|
+
*/
|
|
10
|
+
var getPercentageIncrease = function (_a) {
|
|
11
|
+
var comparison = _a.comparison, current = _a.current, defaultValue = _a.defaultValue;
|
|
12
|
+
var currentValue = (0, getNumber_1.default)({ input: current });
|
|
13
|
+
var comparisonValue = (0, getNumber_1.default)({ input: comparison });
|
|
14
|
+
if (0 === currentValue) {
|
|
15
|
+
return defaultValue;
|
|
16
|
+
}
|
|
17
|
+
return (currentValue - comparisonValue) / currentValue * 100;
|
|
18
|
+
};
|
|
19
|
+
exports.default = getPercentageIncrease;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getPercentIncrease = exports.getPercent = exports.getNumber = void 0;
|
|
7
|
+
var getNumber_1 = __importDefault(require("./getNumber"));
|
|
8
|
+
exports.getNumber = getNumber_1.default;
|
|
9
|
+
var getPercent_1 = __importDefault(require("./getPercent"));
|
|
10
|
+
exports.getPercent = getPercent_1.default;
|
|
11
|
+
var getPercentIncrease_1 = __importDefault(require("./getPercentIncrease"));
|
|
12
|
+
exports.getPercentIncrease = getPercentIncrease_1.default;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AwsConfigType } from '../aws';
|
|
2
|
+
declare type GetAccessTokenType = {
|
|
3
|
+
SsmLib: any;
|
|
4
|
+
awsConfig: AwsConfigType;
|
|
5
|
+
force: boolean;
|
|
6
|
+
ssmName: string;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Renew the access token as it expires every 3 hours.
|
|
10
|
+
*/
|
|
11
|
+
declare const getAccessToken: ({ SsmLib, awsConfig, force, ssmName, }: GetAccessTokenType) => Promise<void>;
|
|
12
|
+
export default getAccessToken;
|