@8ms/helpers 1.1.52 → 1.1.53

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.
@@ -1,5 +1,5 @@
1
1
  import { Response } from '../../api/response';
2
- import BaseClass from '../../Class/BaseClass';
2
+ import BaseClass from '../../class/BaseClass';
3
3
  import { Config } from '../config';
4
4
  /**
5
5
  * Class to build and send an AWS SES email.
@@ -69,7 +69,7 @@ var uniq_1 = __importDefault(require("lodash/uniq"));
69
69
  var response_1 = __importDefault(require("../../api/response"));
70
70
  var states_1 = __importDefault(require("../../api/states"));
71
71
  var unexpectedError_1 = __importDefault(require("../../api/unexpectedError"));
72
- var BaseClass_1 = __importDefault(require("../../Class/BaseClass"));
72
+ var BaseClass_1 = __importDefault(require("../../class/BaseClass"));
73
73
  var isResponse200_1 = __importDefault(require("../isResponse200"));
74
74
  var initClient_1 = __importDefault(require("./initClient"));
75
75
  /**
File without changes
File without changes
@@ -0,0 +1,4 @@
1
+ export declare type Auth = {
2
+ apiId: string;
3
+ apiKey: string;
4
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,15 @@
1
+ import { Filter } from './filter';
2
+ import { Order } from './orders';
3
+ export declare type Request = {
4
+ crawlId?: number;
5
+ customPath?: string;
6
+ filters?: Filter[];
7
+ limit?: number;
8
+ orders?: Order[];
9
+ page?: number;
10
+ projectId?: number;
11
+ report?: string;
12
+ subReport?: string;
13
+ };
14
+ declare const buildRequest: ({ crawlId, customPath, filters, limit, orders, page, projectId, report, subReport, }: Request) => string;
15
+ export default buildRequest;
@@ -0,0 +1,84 @@
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 reports_1 = __importDefault(require("./reports"));
7
+ var orders_1 = __importDefault(require("./orders"));
8
+ var buildRequest = function (_a) {
9
+ var crawlId = _a.crawlId, customPath = _a.customPath, filters = _a.filters, limit = _a.limit, orders = _a.orders, page = _a.page, projectId = _a.projectId, report = _a.report, subReport = _a.subReport;
10
+ var url = "https://api.deepcrawl.com/accounts/37204";
11
+ // Limit must be greater than 0 but also less than 200
12
+ if (undefined !== limit) {
13
+ if (limit > 200) {
14
+ throw "Maximum row limit is 200.";
15
+ }
16
+ else if (0 === limit) {
17
+ throw "Row limit must be greater than 0.";
18
+ }
19
+ }
20
+ // Set limit to 200 by default
21
+ else {
22
+ limit = 200;
23
+ }
24
+ // If a report other than List Crawls is selected, Crawl ID must be defined
25
+ if (undefined !== report && reports_1.default.LIST_CRAWLS !== report && undefined == crawlId) {
26
+ throw "Crawl ID must be defined.";
27
+ }
28
+ switch (report) {
29
+ case reports_1.default.LIST_CRAWLS:
30
+ url += "/projects/".concat(projectId, "/crawls");
31
+ break;
32
+ case reports_1.default.LIST_PROJECTS:
33
+ url += "/projects";
34
+ break;
35
+ case reports_1.default.CUSTOM:
36
+ url += customPath;
37
+ url = url.replace('[PROJECT]', projectId.toString());
38
+ url = url.replace('[CRAWL]', crawlId.toString());
39
+ break;
40
+ case reports_1.default.CRAWL_STATISTICS:
41
+ url += "/projects/".concat(projectId, "/crawls/").concat(crawlId, "/statistics");
42
+ break;
43
+ case reports_1.default.LIST_REPORTS:
44
+ url += "/projects/".concat(projectId, "/crawls/").concat(crawlId, "/reports");
45
+ break;
46
+ case reports_1.default.REPORT_ROWS:
47
+ case reports_1.default.REPORT_STATISTICS:
48
+ case reports_1.default.REPORT_SUMMARY:
49
+ url += "/projects/".concat(projectId, "/crawls/").concat(crawlId, "/reports/").concat(subReport);
50
+ if (reports_1.default.REPORT_ROWS === report) {
51
+ url += "/report_rows";
52
+ }
53
+ else if (reports_1.default.REPORT_STATISTICS === report) {
54
+ url += "/statistics";
55
+ }
56
+ break;
57
+ }
58
+ // Specify the limit
59
+ url += -1 === url.indexOf('?') ? '?' : '&';
60
+ url += "per_page=".concat(limit);
61
+ // Set the page number
62
+ if (undefined !== page) {
63
+ url += -1 === url.indexOf('?') ? '?' : '&';
64
+ url += "page=".concat(page);
65
+ }
66
+ // Apply any filters
67
+ if (undefined !== filters) {
68
+ filters.map(function (filter) {
69
+ url += -1 === url.indexOf('?') ? '?' : '&';
70
+ url += "q[".concat(filter.field, "_").concat(filter.operand, "]=").concat(filter.value);
71
+ });
72
+ }
73
+ // Order the data
74
+ if (undefined !== orders) {
75
+ url += -1 === url.indexOf('?') ? '?' : '&';
76
+ orders.map(function (order, index) {
77
+ url += 0 === index ? 'sort=' : ',';
78
+ url += orders_1.default.DESCENDING === order.direction ? '-' : '';
79
+ url += order.field;
80
+ });
81
+ }
82
+ return url;
83
+ };
84
+ exports.default = buildRequest;
@@ -0,0 +1,5 @@
1
+ export declare type Filter = {
2
+ field: string;
3
+ operand: string;
4
+ value: string;
5
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,5 @@
1
+ import { Response } from '../api/response';
2
+ declare const getData: ({ url }: {
3
+ url: string;
4
+ }) => Promise<Response>;
5
+ export default getData;
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (_) try {
29
+ 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;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ var __importDefault = (this && this.__importDefault) || function (mod) {
50
+ return (mod && mod.__esModule) ? mod : { "default": mod };
51
+ };
52
+ Object.defineProperty(exports, "__esModule", { value: true });
53
+ var get_1 = __importDefault(require("../axios/get"));
54
+ var response_1 = __importDefault(require("../api/response"));
55
+ var states_1 = __importDefault(require("../api/states"));
56
+ var getData = function (_a) {
57
+ var url = _a.url;
58
+ return __awaiter(void 0, void 0, void 0, function () {
59
+ var response;
60
+ return __generator(this, function (_b) {
61
+ switch (_b.label) {
62
+ case 0:
63
+ response = __assign({}, response_1.default);
64
+ return [4 /*yield*/, (0, get_1.default)({
65
+ config: {
66
+ headers: {
67
+ 'X-AUTH-TOKEN': global.deepcrawl.token,
68
+ },
69
+ },
70
+ onError: function (error) {
71
+ response.state = states_1.default.ERROR;
72
+ response.error = error.message;
73
+ },
74
+ onSuccess: function (success) {
75
+ response.state = states_1.default.SUCCESS;
76
+ response.body = success.data;
77
+ },
78
+ url: url,
79
+ })];
80
+ case 1:
81
+ _b.sent();
82
+ return [2 /*return*/, response];
83
+ }
84
+ });
85
+ });
86
+ };
87
+ exports.default = getData;
@@ -0,0 +1,11 @@
1
+ declare const operands: {
2
+ EQUALS: string;
3
+ CONTAINS: string;
4
+ LESS_THAN: string;
5
+ LESS_THAN_OR_EQUAL: string;
6
+ GREATER_THAN: string;
7
+ GREATER_THAN_OR_EQUAL: string;
8
+ REGEX: string;
9
+ NOT_REGEX: string;
10
+ };
11
+ export default operands;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var operands = {
4
+ EQUALS: 'eql',
5
+ CONTAINS: 'cont',
6
+ LESS_THAN: 'lt',
7
+ LESS_THAN_OR_EQUAL: 'lte',
8
+ GREATER_THAN: 'gt',
9
+ GREATER_THAN_OR_EQUAL: 'gte',
10
+ REGEX: 'rgx',
11
+ NOT_REGEX: 'nrgx',
12
+ };
13
+ exports.default = operands;
@@ -0,0 +1,9 @@
1
+ export declare type Order = {
2
+ direction: string;
3
+ field: string;
4
+ };
5
+ declare const orders: {
6
+ ASCENDING: string;
7
+ DESCENDING: string;
8
+ };
9
+ export default orders;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var orders = {
4
+ ASCENDING: 'asc',
5
+ DESCENDING: 'desc',
6
+ };
7
+ exports.default = orders;
@@ -0,0 +1,10 @@
1
+ import { Auth } from './auth';
2
+ /**
3
+ * http://api-docs.deepcrawl.com/
4
+ * Renew the DeepCrawl user token.
5
+ * Token lasts for 6 hours.
6
+ */
7
+ declare const renewToken: ({ auth }: {
8
+ auth: Auth;
9
+ }) => Promise<void>;
10
+ export default renewToken;
@@ -0,0 +1,81 @@
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 post_1 = __importDefault(require("../axios/post"));
43
+ global.deepcrawl = {
44
+ lastUpdated: null,
45
+ token: null,
46
+ };
47
+ /**
48
+ * http://api-docs.deepcrawl.com/
49
+ * Renew the DeepCrawl user token.
50
+ * Token lasts for 6 hours.
51
+ */
52
+ var renewToken = function (_a) {
53
+ var auth = _a.auth;
54
+ return __awaiter(void 0, void 0, void 0, function () {
55
+ var apiResponse;
56
+ return __generator(this, function (_b) {
57
+ switch (_b.label) {
58
+ case 0:
59
+ if (!(null === global.deepcrawl.token)) return [3 /*break*/, 2];
60
+ return [4 /*yield*/, (0, post_1.default)({
61
+ config: {
62
+ auth: {
63
+ username: auth.apiId,
64
+ password: auth.apiKey,
65
+ },
66
+ },
67
+ url: "https://api.deepcrawl.com/sessions",
68
+ })];
69
+ case 1:
70
+ apiResponse = _b.sent();
71
+ // Ensure the value exists
72
+ if (undefined !== apiResponse.data && undefined !== apiResponse.data.token) {
73
+ global.deepcrawl.token = apiResponse.data.token;
74
+ }
75
+ _b.label = 2;
76
+ case 2: return [2 /*return*/];
77
+ }
78
+ });
79
+ });
80
+ };
81
+ exports.default = renewToken;
@@ -0,0 +1,11 @@
1
+ declare const reports: {
2
+ CRAWL_STATISTICS: string;
3
+ CUSTOM: string;
4
+ LIST_PROJECTS: string;
5
+ LIST_CRAWLS: string;
6
+ LIST_REPORTS: string;
7
+ REPORT_ROWS: string;
8
+ REPORT_STATISTICS: string;
9
+ REPORT_SUMMARY: string;
10
+ };
11
+ export default reports;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var reports = {
4
+ CRAWL_STATISTICS: 'crawl_statistics',
5
+ CUSTOM: 'custom',
6
+ LIST_PROJECTS: 'list_projects',
7
+ LIST_CRAWLS: 'list_crawls',
8
+ LIST_REPORTS: 'list_reports',
9
+ REPORT_ROWS: 'report_rows',
10
+ REPORT_STATISTICS: 'report_statistics',
11
+ REPORT_SUMMARY: 'report_summary',
12
+ };
13
+ exports.default = reports;
@@ -0,0 +1,9 @@
1
+ declare type GetRounded = {
2
+ decimalPlaces: number;
3
+ input: any;
4
+ };
5
+ /**
6
+ * Round a number using the Numbro library.
7
+ */
8
+ declare const getRounded: ({ decimalPlaces, input }: GetRounded) => number;
9
+ export default getRounded;
@@ -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
+ var getNumber_1 = __importDefault(require("./getNumber"));
7
+ /**
8
+ * Round a number using the Numbro library.
9
+ */
10
+ var getRounded = function (_a) {
11
+ var decimalPlaces = _a.decimalPlaces, input = _a.input;
12
+ var numbro = require('numbro');
13
+ var inputNumber = (0, getNumber_1.default)({ defaultValue: 0, input: input });
14
+ var stringNumber = numbro(inputNumber)
15
+ .format({
16
+ average: false,
17
+ mantissa: decimalPlaces,
18
+ thousandSeparated: false,
19
+ trimMantissa: true,
20
+ });
21
+ return Number(stringNumber);
22
+ };
23
+ exports.default = getRounded;
package/package.json CHANGED
@@ -1,43 +1,45 @@
1
1
  {
2
- "name": "@8ms/helpers",
3
- "license": "UNLICENSED",
4
- "version": "1.1.52",
5
- "repository": {
6
- "type": "git",
7
- "url": "git+https://github.com/8millionstories-organisation/8ms-helpers-ts.git"
8
- },
9
- "main": "dist/index.js",
10
- "types": "dist/index.d.ts",
11
- "scripts": {
12
- "build": "rimraf dist && tsc",
13
- "jest": "jest --watch"
14
- },
15
- "dependencies": {
16
- "axios": "0.27.2",
17
- "date-fns": "2.28.0",
18
- "date-fns-tz": "1.3.4",
19
- "lodash": "4.17.21"
20
- },
21
- "devDependencies": {
22
- "@aws-sdk/client-s3": "3.142.0",
23
- "@aws-sdk/client-ses": "3.142.0",
24
- "@aws-sdk/client-ssm": "3.142.0",
25
- "@aws-sdk/s3-request-presigner": "3.142.0",
26
- "@babel/preset-env": "7.18.2",
27
- "@babel/preset-flow": "7.17.12",
28
- "@babel/preset-typescript": "7.17.12",
29
- "@google-cloud/storage": "6.1.0",
30
- "@prisma/client": "4.2.1",
31
- "@types/jest": "27.5.1",
32
- "@types/lodash": "4.14.182",
33
- "@types/node": "17.0.35",
34
- "babel-jest": "28.1.0",
35
- "crypto-js": "4.1.1",
36
- "jest": "28.1.0",
37
- "prisma-query-log": "3.2.0",
38
- "timezone-mock": "1.3.2",
39
- "ts-node": "10.8.0",
40
- "tslib": "2.4.0",
41
- "typescript": "4.7.2"
42
- }
2
+ "name": "@8ms/helpers",
3
+ "license": "UNLICENSED",
4
+ "version": "1.1.53",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/8millionstories-organisation/8ms-helpers-ts.git"
8
+ },
9
+ "main": "index.js",
10
+ "types": "index.d.ts",
11
+ "scripts": {
12
+ "build": "rimraf dist && tsc",
13
+ "jest": "jest --watch"
14
+ },
15
+ "dependencies": {
16
+ "axios": "0.27.2",
17
+ "date-fns": "2.29.2",
18
+ "date-fns-tz": "1.3.6",
19
+ "lodash": "4.17.21"
20
+ },
21
+ "devDependencies": {
22
+ "@aws-sdk/client-s3": "3.157.0",
23
+ "@aws-sdk/client-ses": "3.154.0",
24
+ "@aws-sdk/client-ssm": "3.154.0",
25
+ "@aws-sdk/s3-request-presigner": "3.157.0",
26
+ "@babel/preset-env": "7.18.10",
27
+ "@babel/preset-flow": "7.18.6",
28
+ "@babel/preset-typescript": "7.18.6",
29
+ "@google-cloud/storage": "6.4.1",
30
+ "@prisma/client": "4.2.1",
31
+ "@types/jest": "28.1.8",
32
+ "@types/lodash": "4.14.184",
33
+ "@types/node": "18.7.13",
34
+ "babel-jest": "28.1.3",
35
+ "crypto-js": "4.1.1",
36
+ "jest": "28.1.3",
37
+ "node-fetch": "3.2.10",
38
+ "numbro": "2.3.6",
39
+ "prisma-query-log": "3.2.0",
40
+ "timezone-mock": "1.3.4",
41
+ "ts-node": "10.9.1",
42
+ "tslib": "2.4.0",
43
+ "typescript": "4.7.4"
44
+ }
43
45
  }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Take two values, ensure they are numbers and return the sorting value.
3
+ */
4
+ declare const byNumberAscending: ({ valueA, valueB }: {
5
+ valueA: any;
6
+ valueB: any;
7
+ }) => number;
8
+ export default byNumberAscending;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * Take two values, ensure they are numbers and return the sorting value.
5
+ */
6
+ var byNumberAscending = function (_a) {
7
+ var valueA = _a.valueA, valueB = _a.valueB;
8
+ var valueAClean = Number(valueA);
9
+ var valueBClean = Number(valueB);
10
+ if (valueAClean > valueBClean) {
11
+ return 1;
12
+ }
13
+ if (valueBClean > valueAClean) {
14
+ return -1;
15
+ }
16
+ return 0;
17
+ };
18
+ exports.default = byNumberAscending;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Take two values, ensure they are numbers and return the sorting value.
3
+ */
4
+ declare const byNumberDescending: ({ valueA, valueB }: {
5
+ valueA: any;
6
+ valueB: any;
7
+ }) => number;
8
+ export default byNumberDescending;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * Take two values, ensure they are numbers and return the sorting value.
5
+ */
6
+ var byNumberDescending = function (_a) {
7
+ var valueA = _a.valueA, valueB = _a.valueB;
8
+ var valueAClean = Number(valueA);
9
+ var valueBClean = Number(valueB);
10
+ if (valueAClean > valueBClean) {
11
+ return -1;
12
+ }
13
+ if (valueBClean > valueAClean) {
14
+ return 1;
15
+ }
16
+ return 0;
17
+ };
18
+ exports.default = byNumberDescending;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Take two values, clean the strings and return the sorting value.
3
+ */
4
+ declare const byStringAscending: ({ valueA, valueB }: {
5
+ valueA: any;
6
+ valueB: any;
7
+ }) => number;
8
+ export default byStringAscending;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * Take two values, clean the strings and return the sorting value.
5
+ */
6
+ var byStringAscending = function (_a) {
7
+ var valueA = _a.valueA, valueB = _a.valueB;
8
+ var valueAClean = valueA
9
+ .trim()
10
+ .toLowerCase();
11
+ var valueBClean = valueB
12
+ .trim()
13
+ .toLowerCase();
14
+ if (valueAClean > valueBClean) {
15
+ return 1;
16
+ }
17
+ if (valueBClean > valueAClean) {
18
+ return -1;
19
+ }
20
+ return 0;
21
+ };
22
+ exports.default = byStringAscending;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Take two values, clean the strings and return the sorting value.
3
+ */
4
+ declare const byStringDescending: ({ valueA, valueB }: {
5
+ valueA: any;
6
+ valueB: any;
7
+ }) => number;
8
+ export default byStringDescending;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * Take two values, clean the strings and return the sorting value.
5
+ */
6
+ var byStringDescending = function (_a) {
7
+ var valueA = _a.valueA, valueB = _a.valueB;
8
+ var valueAClean = valueA
9
+ .trim()
10
+ .toLowerCase();
11
+ var valueBClean = valueB
12
+ .trim()
13
+ .toLowerCase();
14
+ if (valueAClean > valueBClean) {
15
+ return -1;
16
+ }
17
+ if (valueBClean > valueAClean) {
18
+ return 1;
19
+ }
20
+ return 0;
21
+ };
22
+ exports.default = byStringDescending;
@@ -0,0 +1,4 @@
1
+ declare const getXml: ({ url }: {
2
+ url: any;
3
+ }) => Promise<string>;
4
+ export default getXml;
package/xml/getXml.js ADDED
@@ -0,0 +1,62 @@
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 getXml = function (_a) {
40
+ var url = _a.url;
41
+ return __awaiter(void 0, void 0, void 0, function () {
42
+ var fetch, response, xml;
43
+ return __generator(this, function (_b) {
44
+ switch (_b.label) {
45
+ case 0:
46
+ fetch = require('node-fetch');
47
+ return [4 /*yield*/, fetch(url)];
48
+ case 1:
49
+ response = _b.sent();
50
+ return [4 /*yield*/, response.text()];
51
+ case 2:
52
+ xml = _b.sent();
53
+ // Trim the contents
54
+ xml = xml.trim();
55
+ // Remove tabs, new lines, double spaces
56
+ xml = xml.replace(/[ ]{2}|\r\n|\n|\r|\t/gm, '');
57
+ return [2 /*return*/, xml];
58
+ }
59
+ });
60
+ });
61
+ };
62
+ exports.default = getXml;